以下是上下文:
这可能听起来微不足道,但我正在寻找的是加载这些特定YAML文件的正确方法。
据我所知,到目前为止,使用Extension类是不可能的,因为它不了解当前用户。
使用自定义服务来管理这些配置而不是依赖Symfony的参数似乎更合适,但我找不到如何实现验证(使用Configuration类)和缓存。
非常感谢任何帮助,感谢您的投入!
答案 0 :(得分:3)
使用Symfony2的Yaml,Processor和Configuration组件应该符合您的需求。
定义您的“CompanyConfiguration”类,就像您在DependencyInjection案例中一样 创建一个新的“CompanyLoader”服务
use Symfony\Component\Yaml\Yaml;
use Symfony\Component\Config\Definition\Processor;
$companies = Yaml::parse('company.yml');
$processor = new Processor();
$configuration = new CompanyConfiguration();
$processor->processConfiguration($configuration, $companies);
现在你应该可以使用你的公司阵列来做你想做的事了
答案 1 :(得分:1)
查看http://symfony.com/doc/current/cookbook/configuration/configuration_organization.html以及http://symfony.com/doc/current/cookbook/configuration/environments.html。如果这不是正确的答案,您必须更具体地说明您的company.yml配置包含的内容。