您的位置:首页 > 编程语言 > PHP开发

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#应用事件-
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: