Как поймать идентификатор из sfUser? - PullRequest
2 голосов
/ 17 мая 2011

Я работаю с Symfony 1.4 и использую sfDoctrineGuardPlugin в качестве инструмента для аутентификации.

Я хочу поймать идентификатор пользователя, чтобы сохранить его в моей таблице.

Посленебольшое исследование, я думаю, мне нужно использовать это выражение: getUser()->getGuardUser()->getId().

Что я ищу, так это как инвестировать это выражение для моей цели.

Ответы [ 2 ]

6 голосов
/ 17 мая 2011

если пользователь аутентифицирован, да, вы можете использовать:

// inside an action
$id = $this->getUser()->getGuardUser()->getId();

// inside a template
$id = $sf_user->getGuardUser()->getId();

Если пользователь не аутентифицирован, он выдаст ошибку.

3 голосов
/ 03 марта 2012

Зависит от того, куда вы звоните.

От «просмотра»:

echo $sf_user->getAttribute('user_id', null, 'sfGuardSecurityUser' );
echo $sf_user->getUsername();

От «контроллера» (как упоминалось выше Томом):

echo $this->getUser()->getGuardUser()->getId();
echo $this->getUser()->getGuardUser()->getUsername();

(первая строка 'id', вторая 'username')

...