Yii 2模型的自定义模块命名空间

时间:2017-04-07 04:29:32

标签: module yii2

是否有更改模块的命名空间并将其用作模型的命名空间?

我正在使用yii2的基本应用模板构建项目。

我想要的是拥有一个集中式命名空间,这样当我将模块用于不同的项目并重用其中的模型(基本或高级模板)时,我不必根据其根目录更改命名空间。目录

2 个答案:

答案 0 :(得分:1)

这可以使用Yii2别名。

首先将所有模型放在自定义文件夹中,并将其设置为别名yii配置文件。如下所示

// an alias of a file path
Yii::setAlias('@myFolder', '/path/to/foo');

最后,根据此别名一次更新所有模型名称空间。如下。

namespace myFolder\models\xxx;

现在您可以将此文件夹复制到任何yii2应用程序,只需设置别名,如上所述。

注意: - 目录将是独立的,如下所示,名称空间将基于此目录。

folderName
   ->models
       ->xxxxx
       ->xxxxx
        .....
// and namespace should add all the models like below
namespace folderName\models;

// while using these models, you can import like below
import myFolder\xxxxxx;

答案 1 :(得分:0)

您可以编辑composer.json文件找到

{
   .....
 "autoload": {
        "psr-4": {
            "App\\": "src/" #<-key=namespace value=dirname
        }
  }
  ......
}

运行composer update