Yii2 根据参数动态加载模块
2016-04-07 00:00
555 查看
场景
根据一个 URL 参数code去数据库查询然后再判断去访问哪个模块,Api 开发的时候可能会遇到。
实现
在配置文件config/web.php添加on beforeRequest事件,代码如下:'on beforeRequest' => function ($event) { // 获取 Yii::$app->request->get('code') 然后使用 Model 去查询 // 跟写 action 一样的去写代码 $v1 = (true) ? 'v1' : 'v2' ; Yii::configure(Yii::$app, [ 'modules' => [ 'v1' => [ 'class' => "app\\modules\\{$v}\\Module", ], ], ] ); }, 'components' => [ ]
注意层级关系:跟components同级。
参考文档:https://github.com/yii2-chinesization/yii2-zh-cn/blob/master/guide-zh-CN/structure-applications.md#应用事件-
相关文章推荐
- Yii2 时间格式化的用法
- iOS上传二进制流文件,PHP接收并生成文件
- 关于laravel数据库问题
- Laravel入门:MVC框架
- 后处理Bean(BeanPostProcessor接口)
- PHP中的抽象类跟接口
- 学习PHP不知道该怎么办?借鉴一下资深PHP大牛的方法吧!
- PHP中new static()与new self()的区别异同分析
- PHPStorm使用指南
- u-boot-2016.03 支持yaffs2文件系统烧写之添加nand write.yaffs2命令
- php之函数
- php类库
- PHP语言 -- 面向对象和面向过程的区别
- 多版本PHP编译安装扩展
- 第21篇 ubuntu安装ftp服务器(转载)
- phpcms-v9】使用后台的表单向导做前台的留言板功能
- PHP学习(十二)--数组的遍历
- PHP设计模式 代理设计模式
- PHP设计模式之JS实现观察者模式
- PHP无限极分类详谈