我已经写了一个小分支扩展,它提供了一些功能。
这个扩展是捆绑的,我想把它作为捆绑包的服务公开,所以我创建了services.yml:
services:
twig.job_action_extension:
class: WebBundle'Template'JobActionExtension
arguments: ["@translator"]
tags:
- { name: twig.extension }
但是似乎扩展名从来没有暴露过。
运行php app/console container:debug
没有列出我的服务
是否可以像这里一样注册一个小枝扩展作为服务?
或者我需要在DependencyInjection下创建一个扩展,就像这里一样,如果我想把它作为bundle的一部分贡献出来?
我再深入一点才找到答案。
我需要参考app/config/config。Yml 到bundle 服务。yml (源).
如果我想自动完成,我真的需要扩展名(源代码和上面提到的扩展名)。
那么回答我的两个问题:
- 可以将扩展注册为服务
- 你需要在DependencyInjection下的扩展,如果你想在不调整app/config/config.yml的情况下自动加载你的扩展。