获取代表当前用户的实体[symfony2]

时间:2016-05-27 14:47:13

标签: php symfony twig fosuserbundle

如何获取当前用户的电子邮件地址?

要检索用户名或用户ID很简单,但我没有找到任何解释如何获取当前用途的电子邮件地址的示例。

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

            $entity->setUsername($usr);

1 个答案:

答案 0 :(得分:2)

在控制器中(扩展symfony控制器)

$this->getUser();

对于服务,您需要注入security.token_storage服务并使用

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

TokenStorage :: getToken()可以返回null,考虑一下!