Symfony2 中的多个 Twig_Extension

Multiple Twig_Extension in Symfony2

我想在单独的包中注册我的自定义 Twig 过滤器(以避免拥有一个巨大的文件)。

我在每个包中都有 Yaml 配置:

# services.yml
services:
    twig.extension.[BundleName]:
        class: Kuba\[BundleName]\Twig\AppExtension
        public: false
        tags:
            - { name: twig.extension }

然而,最后一个(按字典顺序)扩展总是覆盖前一个。

如何注册多个扩展程序?如果不可能,拆分代码的最佳做法是什么?

Twig 扩展由字符串 return 通过 getName() 方法识别。有没有理由你必须在你所有的树枝扩展中 return 相同的字符串!