2014-05-16 181 views

回答

0

您正在嘗試使用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-types

0

你也可能想要爲路由參數設置您的約束。我想也使尾部的反斜槓可選的[/]否則它不會匹配/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', 
     ), 
    ), 
), 
0

我文字的路線不能處理PARAMS。

'type' => 'Zend\Mvc\Router\Http\Literal', 

你想編輯一個特定的菜單,具體的ID,這是一個參數。

對於句柄參數,你必須使用段類型。

不要忘記爲你的動作和你的ID添加約束選項。更安全。