[英]zf2 routing is not working
我的根网址是http://restaurent.local,我想像这样http://restaurent.local/menuedit/test/1进行路由。 但这不起作用这是我的代码
'menuedit' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/menuedit[/:action][/:id]',
'defaults' => array(
'controller' => 'Menu\Controller\Menu',
'action' => 'menuedit',
),
),
),
如果有人知道这一点,请帮助我。
您正在尝试使用Literal
路由类型。 如果要匹配您的路线参数,则需要Segment
路线类型...
'menuedit' => array(
'type' => 'Zend\Mvc\Router\Http\Segment',
'options' => array(
'route' => '/menuedit[/:action][/:id]',
'defaults' => array(
'controller' => 'Menu\Controller\Menu',
'action' => 'menuedit',
),
),
),
请考虑阅读手册,以了解不同之处以及如何使用它们-> http://framework.zend.com/manual/2.3/en/modules/zend.mvc.routing.html#http-route-类型
您可能还需要设置路径参数的约束。 我还将使反斜杠与[/]
成为可选,否则它将与/route/to/
不匹配,而只会与/route/to
匹配
'menuedit' => array(
'type' => 'segment',
'options' => array(
'route' => '/menuedit[/][:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => [0-9]*'
),
'defaults' => array(
'controller' => 'Menu\Controller\Menu',
'action' => 'menuedit',
),
),
),
我的文字路线无法处理参数。
'type' => 'Zend\Mvc\Router\Http\Literal',
您要编辑具有特定ID的特定菜单,这是一个参数。
对于句柄参数,您必须使用细分类型。
不要忘记为操作和ID添加约束选项。 更安全。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.