1
我這是這樣定義的幾個PHP類:PHP部分相同的命名空間衝突
module1Model.php
namespace App\Modules\module1\models;
class module1Model
{
//... methods etc.
}
module2Model.php
namespace App\Modules\module2\models;
class module2Model
{
//... methods etc.
}
在一些其他類我想使用這些名稱空間。所以我把下面的線在我的頁面的頂部:
someClass.php
namespace App\Modules\someClass\controllers;
use App\Modules\module1\models; // Works
use App\Modules\module2\models; // Fails
use Core\Logger\TextLogger; // Works
class somceClass
{
//... methods etc.
}
所以在someClass
我試圖use
都module1
和module2
模型。技術上它們不在同一個命名空間中。只是部分。但是爲什麼它給了我一個關於它的錯誤呢?
什麼是解決此問題的好方法?我知道我可以將它添加到第二行:
use App\Modules\module2\models as module2; // Now works
但我真的不喜歡這樣做的,因爲我沒有那樣做,我的所有其他類(使用as
關鍵字)。這感覺很不一致。
是否有任何其他方式使這項工作..?或者我真的不得不在我所有的use
聲明中使用as
關鍵字......? :-(
都能跟得上整個命名空間的目的是區分具有相同名稱的類。 – JvdBerg