我是Symfony2的新手,我想将config.yml导入services.xml。
config.yml:
cleverreach:
soap:
key: myApiKey
url: myWsdlUrl
的services.xml:
<parameters>
<parameter key="key">getKey</parameter>
<parameter key="url">getUrl</parameter>
</parameters>
我不知道如何将变量提供给services.xml ... 这是我用来解析config.yml并加载services.xml的PHP代码:
$appPath = dirname(__DIR__);
$container = new ContainerBuilder();
$loader = new XmlFileLoader($container, new FileLocator($appPath));
$loader->load('services.xml');
// todo@all parse yml, add params to container
$load = new YamlFileLoader($container, new FileLocator($appPath . '/Config'));
$yaml_config_file = $appPath . '/Config/Config.yml';
$parsed_yml_file = Yaml::parse(file_get_contents($yaml_config_file));
答案 0 :(得分:3)
您的扩展方法获取ContainerBuilder
和配置数组。强烈建议您在使用前使用Configuration class进行处理,但从技术上讲,您可以在没有它的情况下访问它(执行var_dump或debug $ config数组作为方法参数)。
按照您想要的方式提取变量后,您需要执行以下操作:
$container->setParameter('parametername', $parameterValue);
之后你可以加载'services.yml'并使用它,例如:
services:
my_service:
class: %parametername%