Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Impossible to access an attribute ("username") on a NULL variable ("")

Tags:

symfony

Trying to display the username of the logged in user by putting

{{ app.user.username }}

in base.html.twig gives me an error like

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

Acessing it like

{{ app.security.getToken().getUser().getUsername() }}

results in the following error.

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

How to acess the logged-in user's attributes globally in symfony? How to fix the error?

like image 961
Dency G B Avatar asked Jan 27 '14 09:01

Dency G B


1 Answers

Try to check first if user exists, and then get its username:

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

or do it with ternary operator:

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

You could use default Twig filter to set default value if username is empty:

 {{ app.user.username|default('undefined') }}
like image 148
Victor Bocharsky Avatar answered Sep 22 '22 18:09

Victor Bocharsky