重定向器在Zend控制器之外

时间:2012-02-09 20:23:09

标签: php zend-framework

我的库文件夹(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 个答案:

答案 0 :(得分:3)

是的,它会立即重定向。您可以在文件中自行查看 /Zend/Controller/Action/Helper/Redirector.php

还有一个gotoSimple()函数可能不会立即重定向。

答案 1 :(得分:0)

setExit() can be used to force an exit() following a redirect. By default this is TRUE. 

你可以尝试$redirector->setExit(false)->setGotoSimple(),我没有理由在重定向后做任何事情,所以我没有尝试过这个功能。