My Yii application consists of 4 modules. Each module has its own config file main.php listing configuration for only url manager.I have all other configurations inside /config/main.php of application directory. Is there a solution to mere each of the modules configuration into main configuration file ?
I am not sure if your using Yii 1 or 2. Your question says Yii but is tagged as yii2.
If its Yii 1, then try this -
You have 4 modules. They must be located at
/protected/modules/MODULE_NAME1, /protected/modules/MODULE_NAME2, and the other two.
Each module having its own main.php consists of array for UrlManager.
Lets say you have a config folder in each MODULE_NAME folder and main.php in it.
So the location becomes - /protected/modules/MODULE_NAME1/config/main.php.
Now, in the index.php, you must be having a line of code as $config=dirname(__FILE__).'/protected/config/main.php';
This is how the main.php(located at /protected/config/main.php) data is fetched.
So if you want to add more config arrays, then just fetch each of them and merge with the primary one.
Eg:
$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'),
);
Make sure the arrays returned from the Module's main.php have the same structure for urlManager.