Перенаправитель вне Zend-контроллера - PullRequest
0 голосов
/ 10 февраля 2012

У меня есть класс в моей папке библиотеки (My_Class) - это не контроллер. У меня есть блок TRY-CATCH, и я хочу немедленно перенаправить из блока CATCH. Можно сделать это так?

    My_Class{

        public function MyFunction(){

            $this->MyOtherFunction();
            //do more stuff

       }

        private function MyOtherFunciton(){

          try{

          //throw exception

          } catch (Exception $e) {

                $redirector = new Zend_Controller_Action_Helper_Redirector();
                $redirector->gotoSimpleAndExit('action','controller','default');
            }


        }

Он перенаправляет, но сразу ли перенаправляет? Или можно "// сделать больше вещей"? Спасибо

PS: класс вызывается из контроллера:

    //in controller
    $myclass = new My_Class();
    $myclass->MyFunction();

Ответы [ 2 ]

3 голосов
/ 10 февраля 2012

Да, он перенаправляет сразу. Вы можете проверить это самостоятельно в файле /Zend/Controller/Action/Helper/Redirector.php

Существует также функция gotoSimple (), которая может не сразу перенаправить.

0 голосов
/ 10 февраля 2012
setExit() can be used to force an exit() following a redirect. By default this is TRUE. 

вы можете попробовать $redirector->setExit(false)->setGotoSimple(), у меня никогда не было причин что-либо делать после перенаправления, поэтому я не пробовал эту функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...