Zend 2似乎执行"redirect() - > toUrl()"如果它被调用则不直接执行.
我有以下代码:
public function onBootstrap(\Zend\Mvc\MvcEvent $e) {
$em = $e->getApplication()->getEventManager();
$em->attach(\Zend\Mvc\MvcEvent::EVENT_DISPATCH, array($this, 'onDispatch'));
}
public function onDispatch(\Zend\Mvc\MvcEvent $e) {
$auth = new \Auth\Model\AuthModel($this->sql, $this->config);
if (!$auth->isLoggedin()) {
$this->redirect()->toUrl('/auth?page=' . urlencode($_SERVER['REQUEST_URI']));
//return false;
}
parent::onDispatch($e);
}
Run Code Online (Sandbox Code Playgroud)
因此,如果我运行上面的代码,它不会直接重定向调用.Zend似乎首先通过Controller Actions和Views然后执行重定向.但是,如果我做"返回假"; 在我调用"重定向"后,重定向按预期工作.
知道为什么zend以这种方式处理重定向?