创建此方法时
actionTest($parameter){
print($parameter);
}
在yii控制器内部,并尝试在浏览器中访问它,我收到错误400.
如何设置yii,以便我输入: / controller / test / text它只是在屏幕上打印字符串'text'而不是返回无效的请求错误?
我已经验证了网址是否正确。如果我写
actionTest(){
print('text');
}
然后转到/ controller / test / text然后它工作得很好。
如何设置yii以便控制器操作可以接受URL中的参数值?
答案 0 :(得分:3)
您必须修改urlManager
中的config.php
重写规则数组以包含
'urlManager'=>array(
....
'rules'=>array(
'controller/test/<parameter:\w+>' => 'controller/test',
...
),
),
将控制器功能设为
actionTest($parameter){
print($parameter);
}
答案 1 :(得分:1)
@curtis:谢谢。那 帮助!
<controller:\w+>/<action:\w+>/<id:\w+>'=>'<controller>/<action>
- Curtis Colly 2013年3月31日3:27
规则<controller:\w+>/<action:\w+>/<id:\w+>'=>'<controller>/<action>
行会将最后一个参数作为$id
发送给控制器,如果您想使用$参数,则应将id更改为参数。
<controller:\w+>/<action:\w+>/<parameter:\w+>'=>'<controller>/<action>
在控制器中,您还可以输入
actionTest(){
print($_GET['parameter']); //or $_REQUEST
}
答案 2 :(得分:0)
尝试使用网址:/controller/test/parameter/text
,它应该有效。
@topher建议的网址规则也是正确的。