我的Yii应用程序包含4个模块。每个模块都有自己的配置文件main.php,列出了url manager的配置。我在应用程序目录的/config/main.php中有所有其他配置。是否有解决方案将每个模块配置到主配置文件中?
答案 0 :(得分:0)
我不确定您是否使用Yii 1 or 2
。您的问题是Yii
,但标记为yii2
。
如果是Yii 1,那么试试这个 -
你有4个模块。它们必须位于
/protected/modules/MODULE_NAME1
,/protected/modules/MODULE_NAME2
和其他两个。
每个模块都有自己的main.php
由UrlManager
的数组组成。
假设您在每个config
文件夹中都有一个MODULE_NAME
文件夹,其中包含main.php
。
所以位置变为 - /protected/modules/MODULE_NAME1/config/main.php
。
现在,在index.php
中,您必须拥有一行代码$config=dirname(__FILE__).'/protected/config/main.php';
这是获取main.php
(located at /protected/config/main.php
)数据的方式。
因此,如果您想添加更多配置数组,那么只需获取每个配置数组并与主要数据库合并。
例如:
$config = array_merge(
require(dirname(__FILE__).'/protected/config/main.php'),
require(dirname(__FILE__).'/protected/modules/MODULE_NAME1/config/main.php'),
require(dirname(__FILE__).'/protected/modules/MODULE_NAME2/config/main.php'),
require(dirname(__FILE__).'/protected/modules/MODULE_NAME3/config/main.php'),
require(dirname(__FILE__).'/protected/modules/MODULE_NAME4/config/main.php'),
);
确保从模块的arrays
返回的main.php
具有与urlManager
相同的结构。