我是Zend 3的新手。我有多个模块,但我不知道如何路由不同的模块控制器操作。
'route' => '/[:module][/]dashboard[/][:action][/:id]',
以上路线在zend 2.4中运行良好。但我无法在zend 3中找到解决方案
答案 0 :(得分:0)
在ZF3中,每个模块都应具有自己的名称空间。因此,如果在不同的模块中有多个DashboardController,则每个模块都必须在每个module.config.php中定义一条路由,例如:
'modulenameDashboard' => [
'type' => 'segment',
'options' => [
'route' => '/modulename/dashboard[/:action][/:id][/]',
'defaults' => [
'controller' => \Modname\Controller\DashboardController::class,
'action' => 'index',
]
]
],
您也可以在Module :: getConfig()中生成此路由 另外,如果只有一个DashboardController,则无需在路由中指定模块,只需指向特定的控制器类即可。
'dashboard' => [
'type' => 'segment',
'options' => [
'route' => '/dashboard[/:action][/:id][/]',
'defaults' => [
'controller' => Modname\Controller\DashboardController::class,
'action' => 'index',
]
]
],