Задать имя модуля, имя контроллера и имя действия в Routes Zend Framework 3? - PullRequest
0 голосов
/ 08 марта 2019

Я новичок в Zend 3. У меня есть несколько модулей, но я не знаю, как маршрутизировать различные действия контроллера модуля.

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

вышеописанный маршрут отлично работает в Zend 2.4.но я не могу найти решение в Zend 3

1 Ответ

0 голосов
/ 11 марта 2019

В 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',
                    ]
                ]
            ],
...