提问者:小点点

在新的Twig_环境中提供细枝扩展


我用的是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());

我能做些什么使扩展对所有可能使用的细枝环境都可用?


共1个答案

匿名用户

您可以创建一个编译器过程并将其注入到包中,从TwigBundle获取TwigenEnvironmentPass