2

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

无论如何我可以在捆绑配置类中说,仅当启用的参数为真时才需要所需的参数?

谢谢你。

编辑:

我的配置.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."

4

0 回答 0