请问一下 Yii 2.0 多条件筛选路由如何设置呢? [ 2.0 版本 ]
http://fw.kjy.com/warehouse?c=2&big=1&s=14&w=20&a=12&b=13
上面的路由想设置成下面的路由访问,请问一下如何设置呢?
http://fw.kjy.com/warehouse/c_2/big_1/s_14/w_20/a_12/b_13
最佳答案
-
几个方案吧:
1、如果你的参数都是必不可少的,且参数顺序固定,那 很简单'warehouse/c_<c>/big_<big>/s_<s>/w_<w>/a_<a>/b_<b>' => 'warehouse/index'
2、如果你的参数可选,或顺序不定,简单处理的话 就是把他们都弄到一个变量里,自己在程序中拆分这些变量
'warehouse/<params:\S*>' => 'warehouse/index'
params 这个参数得到的是 c_2/big_1/s_14/w_20/a_12/b_13 这样一个字符串,自己拆分处理
3、讲究点的做法,自己写一个 专门处理这种 URL 的类,比如叫
MyUrlRule
,实现yii\web\UrlRuleInterface
这个接口,实现其中的parseRequest
和createUrl
两个方法,基本上也就是 拆分 和 拼接 的操作,代码就不在这里献丑了,然后'urlManager' => [ ... 'rules' => [ ... ['class' => 'app\components\MyUrlRule'], ... ] ]
共 1 条回复
其他 0 个回答
没有找到数据。
PHP学院的中学生
注册时间:2018-10-23
最后登录:2024-09-23
在线时长:168小时13分
最后登录:2024-09-23
在线时长:168小时13分
- 粉丝29
- 金钱4725
- 威望30
- 积分6705