繁体   English   中英

zf2路由不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM