Symfony2:Bundle配置在容器中不可用

时间:2016-09-15 16:21:20

标签: php symfony parameters configuration bundle

我设置了一个bundle,它通过Configuration.php和config三个构建器定义了一些选项,它们位于bundle中。

我想将配置放入/root/app/config/config.yml文件中,但是可以通过

在包中找到配置
$config = $container->getParameter('namespace');

到目前为止,我可以通过

看到配置可用
bin/console debug:config namespace

但如果我通过

获取包代码内的配置
$config = $container->getParameter('namespace');

抛出异常:"参数"命名空间"必须定义"它是什么,但例外情况告诉我。

我当前的Configuration.php:

class NamespaceExtension extends Extension
{
    /**
     * {@inheritdoc}
     */
    public function load(array $configs, ContainerBuilder $container)
    {
        $configuration = new Configuration();
        $config = $this->processConfiguration($configuration, $configs);

        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
        $loader->load('services.yml');
    }
}

我在这里错过了什么?

1 个答案:

答案 0 :(得分:1)

您误解了配置和参数。如果要通过参数访问配置,则应根据配置设置参数:

$container->setParameter('namespace', $config['namespace']);