如何停止在PHP中运行的脚本

时间:2014-04-30 13:53:43

标签: php zend-framework2

我在 Zend Framework 2 中运行脚本,问题是如果不满足某些条件,如何停止脚本继续

下面是我的功能,你会注意到,如果不满足 willMemberAcceptMessage()的条件,我试图重定向脚本

if(!$this->willMemberAcceptMessage())
        {  
            $this->flashMessenger()->addMessage(static::ERROR_UNABLE_TO_PROCEED);
            $this->redirect()->toUrl($url);
        } 

问题是脚本没有立即重定向,它仍然在继续运行。

我该怎么办?

2 个答案:

答案 0 :(得分:2)

在重定向行

后添加退出
if(!$this->willMemberAcceptMessage())
        {  
            $this->flashMessenger()->addMessage(static::ERROR_UNABLE_TO_PROCEED);
            $this->redirect()->toUrl($url);
            exit;

        } 

答案 1 :(得分:2)

实际上正确的方法是返回重定向帮助器调用的结果,因为它的每个方法都返回响应对象:

if (!$this->willMemberAcceptMessage()) {  
    $this->flashMessenger()->addMessage(static::ERROR_UNABLE_TO_PROCEED);
    return $this->redirect()->toUrl($url);
} 

如果可能,您应该避免exit;次来电,在这种情况下,如果退出则不会发生重定向。