欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

YII分模塊加載路由的實現(xiàn)方法

 更新時間:2018年10月01日 09:43:48   作者:舊夢發(fā)癲  
這篇文章主要介紹了YII分模塊加載路由的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

拆了之后項目配置結(jié)構(gòu)如下

新增了一個modules.php來管理模塊的加載

調(diào)整之前 web.php的模塊加載配置如下

'modules' => [
  'setup' => [
    'class' => 'appcomponents\modules\setup\Module',
  ],
  'shareorder' => [
    'class' => 'appcomponents\modules\shareorder\Module',
  ],
]

調(diào)整之后 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文件

每個模塊的目錄結(jié)構(gòu)

其中Modules.php是配置當前模塊,加載命名空間等。rules.php為當前模塊的下的路由配置

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論