【发布时间】:2012-03-07 04:25:11
【问题描述】:
如何在服务中注入所有参数?
我知道我可以做到:arguments: [%some.key%],它将parameters: some.key: "value" 传递给服务__construct。
我的问题是,如何在服务中注入parameters 下的所有内容?
我需要这个来制作导航管理器服务,其中将通过所有配置条目根据不同的设置生成不同的菜单/导航/面包屑。
我知道我可以根据需要注入任意数量的参数,但由于它会使用其中的许多参数并且会随着时间的推移而扩展,所以我认为最好在一开始就传递整个事情。
其他方法可能是我可以像在控制器 $this -> container -> getParameter('some.key'); 中那样获取服务内部的参数,但我认为这会违背依赖注入的想法?
提前致谢!
【问题讨论】:
-
注入“所有参数”并不比注入整个容器更好。或内核。我将从设计输入参数开始,继续下面stackoverflow.com/a/25559656/2494723提出的解决方案
标签: php service configuration symfony