我们在控制器文件中创建了一个函数,当我们在浏览器中运行该函数时,我们正在
“Zend \ ServiceManager \ Exception \ ServiceNotFoundException”错误。我们的控制器文件代码是
public function indexAction()
{
if (! $this->getServiceLocator()
->get('AuthService')->hasIdentity()){
return $this->redirect()->toRoute('login');
}
return new ViewModel();
}
有关此错误的任何想法?
答案 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();
}