我有几个 PHP 类是这样定义的:
模块1模型.php
namespace App\Modules\module1\models;
class module1Model
{
//... methods etc.
}
模块2模型.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
关键字)。这感觉太不协调了。
有没有其他方法可以使这项工作..?还是我真的被迫as
在我的所有声明中使用关键字use
...?:-(