如何将Twig Extension作为捆绑服务公开?

时间:2014-08-09 17:02:28

标签: php symfony twig symfony-2.5

我已经编写了一个小枝条扩展,它可以提供一些功能。

这个扩展是捆绑的,我想将它作为捆绑服务公开,所以我创建了services.yml:

services:
    twig.job_action_extension:
        class: WebBundle\Template\JobActionExtension
        arguments: ["@translator"]
        tags:
            - { name: twig.extension }

但似乎扩展从未暴露过 正在运行php app/console container:debug并未列出我的服务。

是否可以将枝条扩展名注册为here等服务? 或者我是否需要在DependencyInjection下创建一个扩展名,如here,如果我想将其作为我的包的一部分贡献?

1 个答案:

答案 0 :(得分:1)

我发现我的答案有点深入了。

我需要从 app / config / config.yml 引用捆绑 services.yml source)。

如果我想自动执行此操作,我确实需要扩展程序(source和上述extension)。

所以回答我的两个问题:

  1. 是的,可以将扩展名注册为服务。
  2. 如果您想在不调整 app / config / config.yml 的情况下自动加载您的扩展程序,则需要DependencyInjection下的扩展程序。