app Variable (Symfony 4.0 Docs)">
English spoken conference
WARNING: You are browsing the documentation for Symfony 4.0 which is not maintained anymore. Consider upgrading your projects to Symfony 4.3.

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

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

4.0 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:

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.
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).
The Session object that represents the current user's session or null if there is none.
The name of the current environment (dev, prod, etc).
True if in debug mode. False otherwise.
<p>Username: {{ app.user.username }}</p>
{% if app.debug %}
    <p>Request method: {{ app.request.method }}</p>
    <p>Application Environment: {{ app.environment }}</p>
{% endif %}


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.