Yii2 模块嵌套配置

在Yii2 中模块是可以无限级嵌套的,也就是说,模块可以包含另一个包含模块的模块,我们称前者为父模块,后者为子模块, 子模块必须在父模块的yiibaseModule::modules属性中申明,例如:[br]在Yii2的advanced版本的rest-api下建立嵌套模块,在forum模块(父模块)下嵌入admin模块(子模块)[br]api下的modules的文件结构如下

--api
----modules
------forum(父模块)
--------Module.php
--------controllers
--------models
--------admin(子模块)
----------Module.php
----------models
----------controllers

forum下的Module.php需要修改init方法

namespace api\modules\forum;

class Module extends \yii\base\Module{    public $controllerNamespace = 'api\modules\forum\controllers';    public function init()    {        parent::init();        $this->modules = [            'admin' => [                // 此处应考虑使用一个更短的命名空间                'class' => 'api\modules\forum\admin\Module',            ],        ];    }}

admin下的Module.php

namespace api\modules\forum\admin;

class Module extends \yii\base\Module
{
public $controllerNamespace = 'api\modules\forum\admin\controllers';
public function init()
{
parent::init();
// \Yii::configure($this, require(DIR . '/config.php'));
}
}
在嵌套模块中的控制器,它的路由应包含它所有祖先模块的ID,例如forum/admin/default/index 代表 在模块forum中子模块admin中default控制器的index操作。[br]参考文章:http://www.yiichina.com/doc/guide/2.0/structure-modules

关键字:yii2, 模块嵌套, module

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部