У меня есть много модулей в приложении Zend. Будут ошибки и исключения в каждом модуле, не так ли? Поэтому я создаю страницу ошибки в модуле приложения, и она работает.Используйте тот же обработчик ошибок в разных модулях в Zend Framework 2
Однако в других модулях они не могут использовать страницу с ошибкой. Итак, что мне делать, чтобы повторно использовать страницу с ошибкой?
Вот module.config.php
файла в модуле Application:
return array(
...,
'controllers' => array(
'invokables' => array(
'Application\Controller\Index' => 'Application\Controller\IndexController'
),
),
'view_manager' => array(
'display_not_found_reason' => true,
'display_exceptions' => true,
'doctype' => 'HTML5',
'not_found_template' => 'error/404',
'exception_template' => 'error/index',
'template_map' => array(
'layout/layout' => __DIR__ . '/../view/layout/layout.phtml',
'application/index/index' => __DIR__ . '/../view/application/index/index.phtml',
'error/404' => __DIR__ . '/../view/error/404.phtml',
'error/index' => __DIR__ . '/../view/error/index.phtml',
),
'template_path_stack' => array(
__DIR__ . '/../view',
),
),
);
Проблема возникает, когда я возвращаю ответ HTTP 404 вручную с помощью следующего кода:
if ($information == null) {
$response = $this->getResponse();
$response->setStatusCode(404);
return $response;
}
Однако, когда я получить доступ к нелегальным ресурсам, такие как http://example.com/something-do-not-exist. Я доберусь до страницы ошибки 404, за исключением The requested URL could not be matched by routing.
Вы имеете в виду, что я должен добавить '$ serviceManager-> get ('Config');' в Module.php в других модулях? –
@HowardXie Нет, вот как вы получаете конфигурацию объединенного приложения. Если вам нужен тот же ** шаблон ошибки во всех модулях, вам больше нечего делать - код, который вы опубликовали, должен работать для всех модулей. – AlexP
Конечно нет. Если я использую приведенную выше конфигурацию, я должен создать страницы ошибок в каждом модуле. Поскольку относительный путь '/../ view/error/404.phtml' не существует в других модулях. –