Yii框架2.0的模块

模块是个独立的软件单元,也是又控制器,视图,模型组成的,也可以有自己的布局。但他必须属于某个应用下,不能独立存在。

其中模块的控制器,视图和应用的控制器和视图使用基本相同,不作赘述,下面说说模块的使用。首先可以通过前面说的Gii来生成一个模块,然后配置模块,再web.php 配置文件里加入下面的东西。

[

    'modules' => [

        'admin' => [

            'class' => 'app\modules\admin\Module',

            // ... 模块其他配置 ...

        ],

    ],

]

在访问的时候就要比应用多一级目录了,就是模块id这一级。

 在代码中获取模块分三种情况。

$module = MyModuleClass::getInstance(); //MyModuleClass对应的是模块类

// 获取ID为 "forum" 的模块

$module = \Yii::$app->getModule('forum');



// 获取处理当前请求控制器所属的模块

$module = \Yii::$app->controller->module;

 

引导启动:下面的配置表示debug模块在每个请求下都运行。

[

    'bootstrap' => [

        'debug',

    ],



    'modules' => [

        'debug' => 'yii\debug\Module',

    ],

]

 

最后说明下,模块是可以嵌套的。

其实模块也是为了提高代码的重用性。一些常用特性,如用户管理,评论管理,可以开发成模块, 这样在相关项目中非常容易被重用。

你可能感兴趣的:(yii框架)