2016-05-27 3 views
-1

Как получить адрес электронной почты текущего пользователя?Получить сущность, представляющую текущего пользователя [symfony2]

Для получения имени пользователя или идентификатора пользователя легко, но я не нашел примера, объясняющего, как получить адрес электронной почты для текущего использования.

$entity = new Post(); 
$userManager = $this->container->get('fos_user.user_manager'); 
      $usr = $userManager->findUserByUsername($this->container->get('security.context') 
       ->getToken() 
       ->getUser()); 

      $entity->setUsername($usr); 
+0

Вы можете создать запрос для получения электронной почты текущего пользователя с помощью идентификатора. Но я не знаю, проще ли это – Letsrocks

ответ

2

В контроллере (который расширяет контроллер Symfony)

$this->getUser(); 

Для услуг необходимо внедрить security.token_storage службу и использовать

$this->tokenStorage()->getToken()->getUser() 

TokenStorage :: getToken() может возврат null, рассмотрите!