Я использую Symfony 2/Twig. У меня есть расширение Twig, которое, среди прочего, перегружает фильтр даты для вывода пользовательских форматов даты на основе предпочтений пользователя.
приложение/config/services.yml:
twig.extension.static:
class: %twig_static_extension% # set elsewhere
tags:
- { name: twig.extension }
Мне нужно инициализировать новую среду Twig_Environment, чтобы отображать шаблоны из базы данных:
контроллер:
$env = new \Twig_Environment(new \Twig_Loader_String());
Но я обнаружил, что эта новая среда не включает расширение автоматически.
Естественно, я могу загрузить его так:
$env->addExtension(new FQCN\To\StaticExtension());
Могу ли я что-то сделать, чтобы сделать расширение доступным для всех используемых сред Twig?
Twig_Environment, ваши сервисы инициализируются сзади, и вы используете среду как сервис в области действия контейнера. Если вы визуализируете строки ветки из базы данных, вы можете использовать twigstringbundle - person Alain Tiemblo   schedule 06.05.2013