Как можно перенаправить после диспетчера исключение?

На 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);
Другие вопросы по тегам