我实际上正在开发一个symfony 2包.我想允许用户使用DIC配置我的bundle而不检查bundle配置的某些部分. 例如,用户设置此配置: root_node: node: key1: value1 key2: value2 key3: value3 我的配置包就像这样
例如,用户设置此配置:
root_node:
node:
key1: value1
key2: value2
key3: value3
我的配置包就像这样设置:
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('root_node');
$rootNode
->children()
->arrayNode('node')->children()->end()
->end();
我希望用户可以配置“node”的子节点,而不需要通过bundle配置进行检查.我不知道如何修改此问题的配置.
在对symfony2 github存储库进行一些研究之后,我找到了解决方案.对于想要做同样事情的其他人,解决方案是:$rootNode
->children()
->arrayNode('node')
->useAttributeAsKey('node')->prototype('scalar')->end()
->end()
->end();
