【问题标题】:Symfony2 - Import config.yml in services.xmlSymfony2 - 在 services.xml 中导入 config.yml
【发布时间】:2013-12-22 11:54:06
【问题描述】:

我是 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));

【问题讨论】:

    标签: php xml symfony dependency-injection yaml


    【解决方案1】:

    您的扩展方法获得ContainerBuilder 和一个配置数组。强烈建议您在使用前使用Configuration class 处理它,但从技术上讲,您可以在没有它的情况下访问它(执行 var_dump 或调试您作为方法参数收到的 $config 数组)。

    按照你想要的方式提取变量后,你想做的事:

    $container->setParameter('parametername', $parameterValue);
    

    然后你可以加载'services.yml'并使用它,例如:

    services:
        my_service:
            class: %parametername%
    

    【讨论】:

      猜你喜欢
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      • 2014-04-24
      • 2016-10-12
      • 2013-11-24
      • 2011-06-16
      • 1970-01-01
      • 2023-03-21
      相关资源
      最近更新 更多