我想只获得一个参数。
对于example site.ru/controller/action/param1/value/
但如果我请求关注url:
site.ru/controller/action/param1/value/param2/value2/param3/value4/
默认情况下我没有任何错误。
是否可以设置url参数的深度?或者我通过url解析手动完成它?
答案 0 :(得分:1)
默认路线允许:module/:controller/:action
(或仅:controller/:action
)部分之后的任意数量的参数。
如果您想限制此项,请创建自己的路线。
请参阅http://framework.zend.com/manual/en/zend.controller.router.html
答案 1 :(得分:0)
默认情况下,param的数量没有限制=> URL中使用的值对。
但是,如果要限制URL参数,则可以创建自己的自定义路径
答案 2 :(得分:0)
考虑以下代码:
$route = new Zend_Controller_Router_Route(
'/:controller/:action/:id',
array('controller'=>'index','action'=>'index','id'=>''), //default values
array('controller'=>'[a-zA-Z-]','action'=>'[a-zA-Z-]+','id'=>'([0-9]+)') //patterns to match values
);
仅当请求包含控制器名称,操作名称和ID编号时,才会触发此路由。 如果传递任何其他参数,则不会触发路由。