Zend auth внутри хранилища сущностей doctrine2 - PullRequest
0 голосов
/ 20 февраля 2012

Я пытаюсь создать метод внутри сущности doctrine 2 в рамках Zend. Это просто держать код сухим. Я хочу получить пользовательский объект, если он вошел в систему, и FALSE в противном случае:

 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'

Почему и как мне этого избежать?

1 Ответ

0 голосов
/ 21 февраля 2012

Я собираюсь сделать предположение и предположить, что вы используете пространства имен, поскольку оно выглядит следующим образом.

В строке, где вы используете Zend_Auth, добавьте префикс \ - например.$auth = \Zend_Auth::getInstance();

Причина этого в том, что пространства имен в PHP являются относительными.Таким образом, если вы попытаетесь использовать только Zend_Auth, это предполагает, что вы хотите объект в текущем пространстве имен.Приставляя префикс к \, вы говорите, что хотите Zend_Auth от root.

Я бы посоветовал вам ознакомиться со страницей справочника namess

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...