4

我想user id在我的 ZF2 控制器的构造函数中检查,如果它没有定义,那么想要重定向到URL我尝试过的任何外部或其他控制器:

$this->redirect()->toRoute("campaign");

$this->redirect()->toUrl("http://example.com");

两种方法都给了我相同的错误信息:

Url 插件要求控制器事件组成一个路由器;没有找到

4

1 回答 1

8

Service Locator的构造函数中不存在Controller,但您可以覆盖onDispatchAbstractActionController. 像这样使用它:

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);
    }
于 2013-10-09T12:39:35.503 回答