我一直在使用ZF2几个月了,我对控制器重定向应该如何工作感到困惑。是否应该立即停止处理当前操作,并发送重定向请求?还是应该完成当前操作的处理,然后执行重定向?正确的ZF2重定向行为
很基本的问题,呵呵?
回到ZF1,我很确定重定向是立即发生的(不像forward()
,它被存储直到当前操作完成)。我认为这与ZF2的情况是一样的,迄今为止我的经验是这样,但是今天我突然发现控制器正在存储重定向,并在当前操作结束时发送它。
下面是一个例子:
public function testAction()
{
$this->redirect()->toUrl('/info');
echo 'Hello';
die();
}
在这种情况下,该操作将呼应“你好”,然后死去。
我认为这可能是正常的事件过程,而我刚刚(纯粹的侥幸)在今天之前没有注意到它。我只想确定一下,然后再回去修改我的所有控制器。 (另一种解释是,在我的配置中,我正在销毁/覆盖重定向插件)。
谢谢奥克拉米斯,一个很好的教程! –