我实际上正在开发一个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();