0
如何使用一個路由器規則允許該控制器內的所有子動作?例如,這如下:ZendFramework 2 - 如何使一個路由器規則可用的所有操作?它只允許動作索引
visit: site/login - works only
site/login/forgetpassword - does not work
site/login/remmeberme - does not work
例子:
$router = $e->getApplication()->getServiceManager()->get('router');
$route = Http\Literal::factory(array(
'route' => '/login',
'defaults' => array(
'controller' => 'Application\Controller\Login',
'action' => 'index'
),
));
$router->addRoute('login', $route, null);
追問:
我怎樣才能讓這個/登錄和/登錄/什麼工作的?
$route = Http\Segment::factory(array(
'route' => '/login[/:action]',
'defaults' => array(
'controller' => 'Application\Controller\Login',
'action' => 'index'
),
));
$router->addRoute('login', $route, null);
module.config.php:您正在使用這個權利?我不是在尋找,我在Module.php bootstrap中使用。 – YumYumYum
module.config.php:路由的概念很耗時,因爲它變成了最大的數組。它殺死更多的時間來調試,但Module.php是調試友好的方法。因此,我選擇了從Bootstrap手動路由的選項,但忽略了module.config.php的路由。 – YumYumYum
完全取決於你,但它並沒有真正改變任何東西:)數組選項也是你必須用於手動調用的選項。而不是使用'Http \ Literal',只需使用'Http \ Segment'。就我個人而言,我只使用來自module.config.php的Literal路由,速度缺點在很小的ms範圍內,所以我根本就不打擾;) – Sam