无法访问NULL变量(“”)上的属性(“用户名”)

时间:2014-01-27 09:05:08

标签: symfony

尝试通过

显示登录用户的用户名
{{ app.user.username }}
base.html.twig中的

给了我一个像

这样的错误
Impossible to access an attribute ("username") on a NULL variable ("") in ::base.html.twig at line 45

那样接受它
{{ app.security.getToken().getUser().getUsername() }}

会导致以下错误。

Impossible to invoke a method ("getUser") on a NULL variable ("") 

如何在symfony中全局访问登录用户的属性?如何解决错误?

1 个答案:

答案 0 :(得分:22)

首先尝试检查用户是否存在,然后获取其用户名:

{% if app.user %}
    {{ app.user.username }} 
{% endif %}

或者使用三元运算符:

{{ app.user ? app.user.username }} 

如果username为空,您可以使用default Twig过滤器设置默认值:

 {{ app.user.username|default('undefined') }}