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

其中模块的控制器,视图和应用的控制器和视图使用基本相同,不作赘述,下面说说模块的使用。首先可以通过前面说的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',
],
]

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

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

最新文章

  1. 一步步开发自己的博客 .NET版(9、从model first替换成code first 问题记录)
  2. Java多线程与并发库高级应用-面试题
  3. c# 连接Mysql数据库
  4. Linux Socket编程
  5. html5学习笔记4--API Range对象(一)
  6. Spring 依赖注入控制反转实现,及编码解析(自制容器)
  7. [HIve - LanguageManual] LateralView
  8. wordpress在Linux nginx下权限设置
  9. [杂题]CSUOJ1413 Area of a Fractal
  10. 如何解决Failed to retrieve MSVC Environment from XXXXXXXX
  11. js中级小知识2
  12. CF949D Curfew
  13. 在ASP.NET MVC 框架中调用 html文件及解析get请求中的参数值
  14. dynamic load jar and init spring
  15. 通过html文件生成PDF文件
  16. HDU 4666 最远曼哈顿距离
  17. 【LeetCode】93. Restore IP Addresses
  18. bzoj 2212 Tree Rotations
  19. Mac 10.12安装FTP工具FileZilla
  20. push到github报错解决方法

热门文章

  1. 在eclipse上Checkstyle的安装和使用
  2. linphone 在am335x的编译过程
  3. Android——Android Bundle类(转)
  4. php7 扩展模块添加
  5. TensorFlow基础笔记(6) 图像风格化实验
  6. HBase和ZooKeeper
  7. UP与瀑布模型
  8. POJ 3168 Barn Expansion (几何+排序)
  9. mysql远程连接授权
  10. Python零碎(一)