Общие данные Symfony 4 во всех представлениях — лучшая практика

#symfony #twig #symfony4

#symfony #twig #symfony4

Вопрос:

Каковы наилучшие методы размещения общих данных для многих представлений (twig), например. главное меню, нижнее меню, хлебные крошки и т.д.
Я знаю, что могу сделать это с помощью встроенных контроллеров, но это не очень эффективно.

Ответ №1:

Доступ ко многим часто используемым функциям можно получить с помощью встроенного в variabble приложения, т.Е. {{ app.user }} возвращает текущего пользователя, вошедшего в систему.

Если вам нужно что-то еще, вы можете написать свои собственные расширения twig.

Комментарии:

1. Как добавить, например, меню, полученное из базы данных, к такой переменной «app»?

2. Возможно, вы захотите взглянуть на это: symfony.com/doc/current/templating/global_variables.html Вы можете внедрить сервис во все шаблоны twig и вызвать функцию, которая возвращает данные из вашей базы данных

3. И как кэшировать такие данные, полученные из сервисов?