如何在zend框架中删除“Zend \ ServiceManager \ Exception \ ServiceNotFoundException”错误

时间:2015-08-14 06:50:45

标签: php zend-framework

我们在控制器文件中创建了一个函数,当我们在浏览器中运行该函数时,我们正在

  

“Zend \ ServiceManager \ Exception \ ServiceNotFoundException”错误。我们的控制器文件代码是

public function indexAction()
{


    if (! $this->getServiceLocator()
             ->get('AuthService')->hasIdentity()){
        return $this->redirect()->toRoute('login');
    }

    return new ViewModel();
}

有关此错误的任何想法?

1 个答案:

答案 0 :(得分:0)

首先,根据您发布的代码判断,这是Zend Framework 2 NOT Zend Framework 1.

您收到此错误是因为您直接调用名为AuthService的服务,但该服务并不存在。 (这有很多原因)。

要解决您的问题,请执行此操作。首先检查服务是否存在。

//... more code

    if ($this->getServiceLocator()->has('AuthService')) {
        $auth = $this->getServiceLocator()->get('AuthService')->hasIdentity()
        if (!$auth) {
            return $this->redirect()->toRoute('login');
        }
        // code if user identity exists
    }

    return new ViewModel();
}