Как поймать идентификатор из sfUser?

Я работаю с 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», вторая – «имя пользователя»)