sud*_*hir 4 php zend-framework2
我想user id在我的ZF2控制器的构造函数中检查,如果它没有定义,那么想要重定向到URL我尝试的任何外部或其他控制器:
$this->redirect()->toRoute("campaign");
Run Code Online (Sandbox Code Playgroud)
和
$this->redirect()->toUrl("http://example.com");
Run Code Online (Sandbox Code Playgroud)
这两种方法都给我相同的错误信息:
Url插件要求控制器事件组成路由器; 没有找到
Service Locator在Controller构造函数中不存在,但您可以覆盖onDispatch从中继承的方法AbstractActionController.像这样使用它:
public function onDispatch(\Zend\Mvc\MvcEvent $e)
{
$session = new \Zend\Session\Container('base');
if(!$session->offsetExists('id'))
$this->redirect()->toRoute("campaign"); and $this->redirect()->toUrl("http://example.com")
return parent::onDispatch($e);
}
Run Code Online (Sandbox Code Playgroud)