起因。因為項目比較大了之后劃了很多模塊。就使得config下面的路由文件變得很龐大,變得不好維護。這個時候就想如果可以把路由拆分到不同模塊去自己管理,就會變得清晰很多。
拆了之后項目配置結構如下

新增了一個modules.php
來管理模塊的加載
調整之前 web.php
的模塊加載配置如下
'modules' => [
'setup' => [
'class' => 'appcomponents\modules\setup\Module',
],
'shareorder' => [
'class' => 'appcomponents\modules\shareorder\Module',
],
]
調整之后 web.php
模塊配置如下
'modules' => require (__DIR__).'/modules.php',
modules.php
里面配置如下
return [
'setup' => [
'class' => 'appcomponents\modules\setup\Module',
],
'shareorder' => [
'class' => 'appcomponents\modules\shareorder\Module',
],
];
然后修改rules.php
$default = [
];
$modules = require __DIR__.'./modules.php';
$roles = [];
foreach ($modules as $module)
{
$class = new ReflectionClass($module['class']);
$filePath = $class->getFileName();
$filePath = str_replace('Module','rules',$filePath);
if(file_exists($filePath))
{
$role = require $filePath;
$roles = array_merge($roles,$role);
}
}
return array_merge($roles,$default);。
利用反射找到每個模塊的真實路徑,然后加載當前模塊下的rules.php
文件
每個模塊的目錄結構

其中Modules.php
是配置當前模塊,加載命名空間等。rules.php
為當前模塊的下的路由配置
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- YII2框架中使用RBAC對模塊,控制器,方法的權限控制及規則的使用示例
- YII框架模塊化處理操作示例
- Yii中srbac權限擴展模塊工作原理與用法分析
- YII模塊實現綁定二級域名的方法
- YII2框架中自定義用戶認證模型,完成登陸和注冊操作示例
- YII2框架自定義全局函數的實現方法小結
- YII框架實現自定義第三方擴展操作示例
- Yii2框架自定義驗證規則操作示例
- Yii2實現自定義獨立驗證器的方法
- 深入淺析yii2-gii自定義模板的方法
- YII2框架中添加自定義模塊的方法實例分析