app Variable (Symfony 4.2 Docs)">
20% OFF using the code 20LISBON48
REGISTER NOW offer expires in 24 hours

You are browsing the Symfony 4 documentation, which changes significantly from Symfony 3.x. If your app doesn't use Symfony 4 yet, browse the Symfony 3.4 documentation.

How to Access the User, Request, Session & more in Twig via the app Variable

4.2 version
Maintained Unmaintained

How to Access the User, Request, Session & more in Twig via the app VariableΒΆ

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).

This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.