在创建的包中设置配置
例如,你有一个由 symfony 控制台生成的包。在这种情况下,在 DependencyInjection / Configuration.php 中,你必须插入配置表示:
$treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('amazingservice');
        $rootNode->children()
            ->scalarNode('url')->end()
            ->scalarNode('client_id')->end()
            ->scalarNode('client_secret')->end()
            ->end()
        ->end();
基本上在 DependencyInjection / AmazingserviceExtension.php 中,你将看到以下行:
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
仅在 Srevices 中获取配置是不够的。你必须将它带入容器。
$container->setParameter(
  'amazingservice.config',
  $config
);
在这种情况下,容器中的配置,所以如果你的服务获取容器作为构造函数参数:
base.amazingservice:
        class: Base\AmazingBundle\Services\AmazingServices
        arguments: [@service_container]
然后,你可以使用以下代码获取服务中的配置,其中配置将是关联数组:
private $config;
public function __construct(Container $container){
  $this->config = $container->getParameter('amazingservice.config');   
}