我想将一个YAML配置注入Symfony中的服务。目前,我注入了我的包的路径和文件的相对路径,并使用Yaml::parse
手动解析它,但有更简单的方法吗?
因此,目标是服务的构造函数将接收已解析的YAML配置的数组。
详细介绍一下:
目前,我的捆绑包中的Resources
目录中有一个YAML文件,并在服务中解析它,我使用这样的东西:
$yamlFile = sprintf(
'%s/%s',
$container->get('kernel')->getBundle('MyBundle')->getPath(),
$pathToFile
);
所以我必须注入容器(我可以以某种方式只注入包的路径吗?)和文件的路径。我不介意重构我的系统,例如将yaml文件放在bundle的config目录中,如果这会有所帮助,但我想将它与其他配置分开。
答案 0 :(得分:3)
您可以在包扩展中加载所需的配置,如下所述:http://symfony.com/doc/current/cookbook/bundles/extension.html并将其保存到新参数,或者注入您喜欢的任何服务。