从php模板访问Symfony2中的登录用户

时间:2015-09-01 12:20:11

标签: php symfony

我的问题是如何从视图中访问登录用户?我知道这可能是twigs {app.user},但我必须在php模板中完成。是否有可能从php模板中获取用户?像$app->getUser()之类的东西?

2 个答案:

答案 0 :(得分:1)

您可以通过security.context服务访问该用户。例如,您可以在控制器中写入:

$User = null;
$securityToken = $this->container->get('security.context')->getToken();

if (is_object($securityToken) && is_callable([$securityToken, 'getUser']))
    $User = $securityToken->getUser();

注意:$User变量可能并不真正包含您的用户实体。在这种情况下,您还应检查$User是否是您的用户实体的实例:

… && is_object($User) && is_callable([$User, 'getId']) && $User->getId() …

答案 1 :(得分:0)

允许用户使用Twig模板登录魔术方法{{app.user.username}}

相关问题