我在 Zend Framework 2 中运行脚本,问题是如果不满足某些条件,如何停止脚本继续
下面是我的功能,你会注意到,如果不满足 willMemberAcceptMessage()的条件,我试图重定向脚本
if(!$this->willMemberAcceptMessage())
{
$this->flashMessenger()->addMessage(static::ERROR_UNABLE_TO_PROCEED);
$this->redirect()->toUrl($url);
}
问题是脚本没有立即重定向,它仍然在继续运行。
我该怎么办?
答案 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;
次来电,在这种情况下,如果退出则不会发生重定向。