Как получить доступ к пользователю, запросу, сессии и др. в Twig через переменную <code translate="no" class="notranslate">app</code>

Как получить доступ к пользователю, запросу, сессии и др. в Twig через переменную app

Во время каждого запроса, Symfony будет устанавливать глобальную переменную шаблона app как в Twig, так и в PHP механизме шаблона по умолчанию. Переменна app - это экземпляр AppVariable, который будет давать вам доступ к некоторым особенным переменным приложения автоматически:

app.user
Представление текущего пользователя или null при его отсутствии. Значение, хранящееся в этой переменной может быть объектом UserInterface, любым другим объектом, реализующим метод __toString(), или даже обычной строкой.
app.request
Объект Request, который представляет текущий запрос (в зависимости от вашего приложения, это может быть под-запросом или обычным запросом, как будет объясняться позже).
app.session
Объект Session, который представляет сессию текущего пользователя или null, при её отсутствии.
app.environment
Имя текущего окружения (dev, prod, и т.д.).
app.debug
"True" (верно) в режиме отладки. "False" (неверно) в других случаях.
  • Twig
  • PHP
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

Вы можете добавлять ваши собственные глобальные переменные шаблонов, смотрите Как автоматически внедрять переменные во все шаблоны.