我用的是Symfony 2/Twig我有一个Twig扩展,除其他外,重载日期过滤器,根据用户偏好输出自定义日期格式。
app/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());
我能做些什么使扩展对所有可能使用的细枝环境都可用?
您可以创建一个编译器过程并将其注入到包中,从TwigBundle获取TwigenEnvironmentPass