YII2框架学习 扩展篇(一) 模块化设计
来源:互联网 发布:ug nx8.0数控编程教程 编辑:程序博客网 时间:2024/06/01 08:59
模块化设计是指把一个系统分成若干个子模块,组合完成系统设计。比如讲一个博客系统分成:用户管理模块;文章管理模块;评论模块;广告模块。而子模块又可以继续细分,比如用户模块可以划分为:密码管理模块,用户信息模块等等。 细分子模块时,应该有一个配置文件控制各个子模块的开启。
接下来学习YII框架的模块化设计,首先要打开gii工具,http://localhost/basic/web/index.php?r=gii。进到Module Generator,填入Module Class和id.
然后在框架目录就会多出来这个子模块,真是太方便了。
包含控制器文件夹,视图文件夹和模块的类。
生成的时候可以多加一层路径,这样可以生成多个子模块也不会互相干扰
要想使子模块生效,需要修改basic\config\web.php,在config数组插入
'modules' => [ 'comment' => [ 'class' => 'app\modules\comment\Comment', ], ],使用子模块有两种方式:
第一种,父模块调用
只要在父模块控制器写入
//获取子模块 $comment = \YII::$app->getModule('comment'); //调用子模块 $comment->runAction('default/index');
就可以调用了。
第二种,直接url访问子模块
http://localhost/basic/web/index.php?r=comment/default/index。
前面提到了子模块可以继续细分模块,现在来试一试
可以看到孙模块生成成功了
到他的父模块comment配置信息,修改父模块的类文件,Comment.php
<?phpnamespace app\modules\comment;/** * comment module definition class */class Comment extends \yii\base\Module{ /** * @inheritdoc */ public $controllerNamespace = 'app\modules\comment\controllers'; /** * @inheritdoc */ public function init() { parent::init(); $this->modules = ['modules' => [ 'comment2' => [ 'class' => 'app\modules\comment\modules\comment2\Comment2', ], ],]; // custom initialization code goes here }}配置就完成了。通过子模块调用孙模块,再访问子模块就可以实现孙模块了,我直接通过urlhttp://localhost/basic/web/index.php?r=comment/comment2/default/index访问孙模块失败了,不知道为什么,知道的留言告诉我谢谢。
阅读全文
0 0
- YII2框架学习 扩展篇(一) 模块化设计
- YII2框架学习 基础篇(一)
- YII2框架学习 扩展篇(二) 事件机制
- YII2框架学习 扩展篇(三) Mixin技术
- YII2框架学习 扩展篇(四) 依赖注入
- YII2框架学习 高效篇(一) 延迟加载
- YII2框架学习 基础篇(二) YII2数据库操作
- yii2框架的模块化使用
- JAVA模块化设计(一)
- yii2学习笔记(一)
- yii2框架(一):下载与安装
- YII2框架学习 高效篇(二) 数据缓存
- YII2框架学习 高效篇(四) http缓存
- YII2框架学习 高效篇(五) Gii工具
- Yii2框架基础篇学习-控制器
- Yii2.0学习笔记(一)之Yii2.0起步
- YII2框架学习 安全篇(一) XSS攻击和防范(上)
- yii2框架-理解yii2的架构(一)
- 加载 Oracle 客户端库时引发badimageformatexception
- HDU-5879-Cure
- JS设置CSS样式的几种方式
- Spring Cloud Feign Client 实现MultipartFile上传文件功能
- PAT甲级 1014
- YII2框架学习 扩展篇(一) 模块化设计
- 并发队列比较
- Android PopupWindow初步使用
- socket编程(二)
- jQuery -- touch事件之滑动判断(左右上下方向)
- 写作建议
- Android (BroadcastReceiver基础)
- python 线程、协程简单使用
- Service使用技巧