在Routes Zend框架3中设置模块名称,控制器名称和操作名称?

问题描述 投票:0回答:1

我是Zend 3的新手。我有多个模块,但我不知道如何路由不同的模块控制器动作。

'route' => '/[:module][/]dashboard[/][:action][/:id]',

以上路由在zend 2.4中运行良好。但我无法在zend 3中找到解决方案

zend-framework zend-framework3
1个回答
0
投票

在ZF3中,每个模块都应该有自己的命名空间。因此,如果您在不同的模块中有多个DashboardController,则每个模块中都必须定义一个路径.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',
                    ]
                ]
            ],
© www.soinside.com 2019 - 2024. All rights reserved.