0

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

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

4

1 回答 1

-1

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

于 2014-10-02T02:37:05.740 回答