Как можно перенаправить после диспетчера исключение?
На Zend Framework внутри моего файла начальной загрузки у меня есть следующий код:
$frontController = Zend_Controller_Front::getInstance();
try
{
$front->dispatch();
}
catch (Exception $e)
{
echo "Something wrong happen";
}
Вместо этого уродливое сообщение, которое я хочу перенаправить на пользовательский контроллер... как я могу это сделать, если я не могу использовать $frontController для перенаправления....?
Спасибо за вашу помощь..
2 ответа
Решение
Zend будет перенаправлять на ErrorController, если он установлен.
По умолчанию Zend_Controller_Plugin_ErrorHandler будет перенаправлять в ErrorController::errorAction()
См. Раздел 12.10.5.2.
ZendFramework имеет вспомогательный класс для обработки перенаправлений.
Пример использования (с вашего контроллера):
$redirectHelper = $this->_helper->getHelper('Redirector');
$redirectHelper->gotoUrl('controller/action');
Вы также можете позвонить перенаправить прямо с вашего контроллера, т.е.
$this->_redirect($url);