在config.yml
中,我看到根元素monolog
,web_profiler
。这些服务是否可以在service.yml
中配置?另一方面,我在service.yml
中定义的服务是否可以在config_dev.yml
,config_prod.yml
中定义?
service.yml
,config.yml
的结构有什么不同以及框架与之互动的方式?
答案 0 :(得分:0)
config.yml是全局配置,包括service.yml。
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
只有逻辑上的区别。放在service.yml中的所有参数都可以放在config.yml
中答案 1 :(得分:0)
不同之处在于,在config * .yml文件中,会发生所谓的语义配置。每个包都可以暴露这样的semantic configuration。而services.yml文件用于定义捆绑服务。
因此,在config.yml中的monolog
下,您可以配置相应的包。您没有定义服务。 monolog
捆绑包的服务是在该捆绑包内定义的,您不必了解该协议。
如果您已经注意到了,您会注意到在services.yml中,该部分以services
开头,而不是您的包的名称。这是因为您在services
部分内定义了服务。
但要回答你问题的第二部分:是的,你可以将services.yml的内容复制到config.yml,但这种分离的优势在于,每个捆绑包都带有服务配置,但你有一个中央配置*每个包的.yml文件。因此,将内容复制到此中心文件并不明智。