Twig扩展可在新的Twig_Environment中使用

时间:2013-05-05 10:19:51

标签: symfony twig

我正在使用Symfony 2 / Twig。我有一个Twig扩展,除其他外,它会重载日期过滤器以根据用户偏好输出自定义日期格式。

应用程序/配置/ 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环境?

1 个答案:

答案 0 :(得分:-1)

您可以创建一个编译器通行证并将其注入您的捆绑包,从TwigBundle的TwigEnvironmentPass获取