このように定義された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
そして、この問題を解決するための良い方法は何でしょうか?私はこれを2行目に追加できることを知っています:
use App\Modules\module2\models as module2; // Now works
as
しかし、私は他のすべてのクラスで(キーワードを使用して)そのようにやっていないので、私はそれをそのようにするのは本当に好きではありません。それはとても矛盾しているように感じます。
これを機能させる他の方法はありますか..?または、すべての宣言as
でキーワードを使用することを本当に強制されていますか...?use
:-(