【发布时间】:2015-09-18 16:31:12
【问题描述】:
我想知道为什么不能将根节点配置命名空间注入到服务中。
示例配置:
my_bundle:
foo: bar
foobar: 123
bar: 1
这将是 MyBundle/Resources/config/services.xml 中的服务配置。
...
<service id="my_bundle.service.my" class="MyService">
<argument>%my_bundle%</argument>
</service>
...
现在我想将配置注入我的服务类。但这不起作用,因为 symfony2 对配置根节点“my_bundle”一无所知。
class MyService
{
public function __construct($config) {}
}
我知道我可以拆分配置并在服务类中添加任意数量的构造函数参数以使其工作。但这会导致构造函数中出现大量参数。
此外,我认为注入整个 symfony2 容器是不好的做法。
也许你们中的一个可以回答我: 1.为什么这行不通? 2.是不是我对整个配置系统理解错了? 3. 我以为如果我注入根节点,命名空间“my_bundle”下定义的所有内容都可用?
或者也许你们中的任何人找到了解决方案并分享它?
谢谢。
【问题讨论】:
标签: php symfony configuration dependencies