symfony2语义包配置 - 条件必需参数

时间:2013-08-10 13:50:33

标签: symfony configuration dependency-injection

我正在处理一个包含两个必需参数的包。我希望能够通过在parameters.yml中设置enabled: false来禁用该捆绑包。 如果禁用捆绑包,则不再需要配置参数。

我是否可以在bundle配置类中说只有在enabled参数为true时才需要所需的参数?

谢谢。

编辑:

我的Configuration.php

 $rootNode
            ->children()
                ->arrayNode('settings')
                    ->canBeEnabled()
                    ->children()
                        ->scalarNode('api_key')
                            ->isRequired()
                            ->cannotBeEmpty()
                        ->end()
                        ->scalarNode('api_secret')
                            ->isRequired()
                            ->cannotBeEmpty()
                        ->end()
                        ->booleanNode('debug')
                            ->defaultFalse()
                            ->cannotBeEmpty()
                        ->end()
                        ->booleanNode('ssl')
                            ->defaultFalse()
                        ->end()
                    ->end()
            ->end();

如果我在parameters.yml中设置它,

my_bundle:
  settings:
    enabled: false

它不应该抱怨"The child node "api_key" at path "my_bundle.settings" must be configured."

0 个答案:

没有答案