How to Access the User, Request, Session & more in Twig via the app
Variable
Warning: You are browsing the documentation for Symfony 3.x, which is no longer maintained.
Read the updated version of this page for Symfony 7.2 (the current stable version).
During each request, Symfony will set a global template variable app
in both Twig and PHP template engines by default. The app
variable
is a AppVariable
instance which will give you access to some application specific variables
automatically:
app.user
-
The representation of the current user or
null
if there is none. The value stored in this variable can be a UserInterface object, any other object which implements a__toString()
method or even a regular string. app.request
- The Request object that represents the current request (depending on your application, this can be a sub-request or a regular request, as explained later).
app.session
-
The Session object that
represents the current user's session or
null
if there is none. app.environment
-
The name of the current environment (
dev
,prod
, etc). app.debug
- True if in debug mode. False otherwise.
1 2 3 4 5
<p>Username: {{ app.user.username }}</p>
{% if app.debug %}
<p>Request method: {{ app.request.method }}</p>
<p>Application Environment: {{ app.environment }}</p>
{% endif %}
Tip
You can add your own global template variables, see How to Inject Variables into all Templates (i.e. global Variables).