1

我写了一个小树枝扩展,它提供了一些功能。

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

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

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

是否可以像这里一样将树枝扩展注册为服务?或者如果我想将它作为我的包的一部分贡献出来,我是否需要像这里
一样在 DependencyInjection 下创建一个扩展?

4

1 回答 1

1

我发现我的答案更深入一点。

我需要从app/config/config.yml 引用到 bundle services.yml ( source )。

如果我想自动完成,我真的需要扩展(和上面提到的扩展)。

所以回答我的两个问题:

  1. 是的,可以将扩展注册为服务。
  2. 如果要在不调整app/config/config.yml的情况下自动加载扩展,则需要 DependencyInjection 下的扩展。
于 2014-08-09T17:11:39.713 回答