Module 在Yii中创建模块urlManager规则

Module 在Yii中创建模块urlManager规则,module,yii,Module,Yii,我正在尝试设置一个模块,以便在没有控制器的情况下调用的任何操作都将在DefaultController上执行。通过向我的站点配置文件中添加一个urlManager规则,该规则将重定向到相应的控制器,我成功地实现了这一点 'urlManager'=>array( 'urlFormat'=>'path', 'rules'=>array( ... 'module/'=>'module/default/', ... ), '

我正在尝试设置一个模块,以便在没有控制器的情况下调用的任何操作都将在DefaultController上执行。通过向我的站点配置文件中添加一个urlManager规则,该规则将重定向到相应的控制器,我成功地实现了这一点

'urlManager'=>array(
    'urlFormat'=>'path',
    'rules'=>array(
        ...
        'module/'=>'module/default/',
        ...
    ),
    'showScriptName'=>false,
),
这很好,但我更希望规则包含在模块中(在module.php中)或配置文件的模块部分

// included modules
'modules'=>array(
    'module',
),

有什么方法可以做到这一点吗?

因为大多数配置文件只是一个大数组,所以很难将规则分解到不同的位置。您可以在config块外以编程方式创建规则数组,然后您的urlManager配置将如下所示:

'urlManager'=>array(
    'urlFormat'=>'path',
    'rules'=>$rules,
    'showScriptName'=>false,

还有一种方法,但您必须查看将其放在哪里是否适用于引导过程。

由于大多数配置文件只是一个大数组,因此很难将规则分解到不同的位置。您可以在config块外以编程方式创建规则数组,然后您的urlManager配置将如下所示:

'urlManager'=>array(
    'urlFormat'=>'path',
    'rules'=>$rules,
    'showScriptName'=>false,
还有一个方法,但是您必须看看您想将它放在哪里,它是否能与引导过程一起工作