Я стараюсь не путать маршруты для некоторых контроллеров в zend framework 2, и даже после того, как я прочитал много, я не могу понять, почему он все еще говорит мне. Запрошенный контроллер не мог быть сопоставлен с существующим класс контроллера. У меня есть модуль с именем CRM, а в папке src у меня есть Контакты и Компании, каждый из которых имеет контроллер/форму/модель. Это мой файл module.config:Маршруты в zend framework 2
array(
'controllers' => array(
'invokables' => array(
'CRM\Controller\Contacts' => 'CRM\Controller\ContactsController',
'CRM\Controller\Companies' => 'CRM\Controller\CompaniesController',
),
),
'router' => array(
'routes' => array(
'contacts' => array(
'type' => 'Segment',
'options' => array(
'route' => '/contacts[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Contacts\Controller\Contacts',
'action' => 'index',
),
),
),
'companies' => array(
'type' => 'segment',
'options' => array(
'route' => '/companies[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Companies\Controller\Companies',
'action' => 'index',
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'contacts' => __DIR__ . '/../view/crm',
'companies' => __DIR__ . '/../view/crm',
),
),
);
Любая помощь была бы действительно оценена.
Я просто попытался добавить эти строки в getAutoloaderConfig(), но, похоже, он все еще не работает. Запрошенный контроллер не может быть сопоставлен с существующим классом контроллера. – knot
@ user2047893 Извините, вам все равно нужно будет отобразить контроллеры в разделе 'invokables' вашего конфигуратора контроллера (т. Е. Изменить префикс' CRM', который у вас есть сейчас, с 'Contacts' и' Companies' соответственно) – Crisp
Я просто вижу теперь, когда вы написали второй комментарий. Да, это действительно проблема. Я уже их модифицировал, и он работает. Большое спасибо! – knot