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