Zend framework doctrine2实体存储库中的Zend auth
我试图在zend框架中的doctrine 2实体中创建一个方法。这只是为了让代码保持干燥。如果用户已登录,我希望检索用户对象,否则为FALSE:Zend framework doctrine2实体存储库中的Zend auth,zend-framework,doctrine,Zend Framework,Doctrine,我试图在zend框架中的doctrine 2实体中创建一个方法。这只是为了让代码保持干燥。如果用户已登录,我希望检索用户对象,否则为FALSE: public function getCurrentUserId() { //returns false if not logged in, user object otherwise $auth = Zend_Auth::getInstance(); $id = $auth->getidenti
public function getCurrentUserId() {
//returns false if not logged in, user object otherwise
$auth = Zend_Auth::getInstance();
$id = $auth->getidentity();
$user = $this->_em->getRepository('Entities\User')
->findOneByid($id);
if (is_null($user))
return false;
else
return $user;
}
}
这在控制器操作中可以正常工作,但在此处会导致以下错误:
PHP Fatal error: Doctrine\Common\ClassLoader::loadClass(): Failed opening required '/var/www/myswap/application/models/Repositories/Zend_Auth.php'
为什么,以及如何避免这种情况?我猜一下,假设您使用的是名称空间,因为它看起来是这样的 在使用
Zend_Auth
的行中,在前面加一个\-eg.$Auth=\Zend_Auth::getInstance()代码>
原因是PHP中的名称空间是相对的。因此,如果您尝试仅使用Zend_Auth
,它假定您希望当前名称空间中有一个对象。通过在它前面加一个\,你告诉它你想要根目录下的Zend\u Auth
我建议你先熟悉一下