Я работаю с symfony 1.4 и использую sfDoctrineGuardPlugin как инструмент для аутентификации.
Я хочу поймать идентификатор пользователя, чтобы сохранить его в моей таблице.
После небольшого исследования, я думаю, мне нужно использовать это выражение: getUser()->getGuardUser()->getId()
.
Я ищу, как инвестировать это выражение для своей цели.
если пользователь аутентифицирован, да, вы можете использовать:
// inside an action $id = $this->getUser()->getGuardUser()->getId(); // inside a template $id = $sf_user->getGuardUser()->getId();
Если пользователь не аутентифицирован, он выдаст ошибку.
Зависит от того, где вы звоните.
Из «представления»:
echo $sf_user->getAttribute('user_id', null, 'sfGuardSecurityUser' ); echo $sf_user->getUsername();
Из «контроллера» (как упоминалось выше Томом):
echo $this->getUser()->getGuardUser()->getId(); echo $this->getUser()->getGuardUser()->getUsername();
(Первая строка – «id», вторая – «имя пользователя»)