ZendFramework Zend Framework - Как отменить выполнение экшена

at0m1x

Новичок
Есть приложение на ZF 1.12. В одном из контроллеров нужно делать проверку определенного условия, и в зависимости от этого условия, прерывать выполнение приложения. Как вариант делать проверку условия в preDispatch() и выполнять die. Но die это как то не совсем красиво. Пробовал вместо die использовать $this->_request->setDispatched(false);, но почему то при этом приложение зависает и обрывается по тайм ауту.
 

Sender

Новичок
> прерывать выполнение приложения.
что конкретно хочется? 403?

> но почему то при этом приложение зависает и обрывается по тайм ауту
там в Front контроллере если посмотришь то такой трюк работать не будет, точно уже не помню, но не рассчитан он на такое использование, он там виснет, пытаясь все время диспатчить запрос и ходит по кругу


можно редиректнуть:
$this->_helper->_redirector('list', 'company');

или бросить исключение:
throw new Zend_Controller_Action_Exception(
"Can't find this company",
404
);

я вроде так эту проблему обошел когда тестовое задание делал.
 
Сверху