好的,所以Laravel在過去幾天對我來說行爲很奇怪。Laravel引用自定義類時的奇怪行爲
我正在開發一個Laravel Package並具有以下目錄結構:
vendor
-student
--myPackage
---src
----controllers
----models
----mail
----routes
----views
我的模型文件的一個示例:
<?php
namespace Student\myPackage\Model;
use Illuminate\Database\Eloquent\Model as BaseModel;
class MyClass extends BaseModel
{
//
}
我試圖訪問該模型文件在我的控制器,像這樣use Student\myPackage\Model\MyClass as aMyClass
。我在模型目錄中有幾個模型,並且每個模型都在同一命名空間下,即Student\myPackage\Model
問題是我在訪問路由時出現以下錯誤。
FatalThrowableError
班 '學生\ mypackage中\型號\ MyClass的' 未找到
我有上只有一個模型類此錯誤,而那也是當它被引用一個控制器,如果我在路徑文件中引用它,如下所示,那麼就沒有問題了。
use Student\myPackage\Model\MyClass as aMyClass
Route::get('/test', function() {
$g = new aMyClass; ($g);
})->middleware('web');
我甚至擦除了模型文件,然後重新編碼所有東西,但問題仍然存在。然後在我的控制器中,我重新編寫了所有正在使用的模型類的使用語句,並且它的工作原理。記得我甚至重寫了這個類的使用聲明多次,但它不起作用。無論如何,所以現在它正在工作,但現在我與另一個課程相同的問題,這是一個郵寄課程。
可能是什麼問題,是關於類的引用順序或關於命名空間的一些問題?
包的Composer.json
"autoload": {
"psr-0": {
"Student\\myPackage\\": "src/"
}
}
你還可以分享你的composer.json的自動加載位嗎? – apokryfos
你需要給出完整的路徑,例如:'「psr-0」:{ 「Student \\ MyPackage \\」:「student/myPackage/src」 }'試試這個,讓我知道這是否可行! –
@HirenGohel不,它沒有工作。 – StudentX