依赖注入 – SF2:允许用户配置bundle而不检查bundle配置的某些部分

我实际上正在开发一个symfony 2包.我想允许用户使用DIC配置我的bundle而不检查bundle配置的某些部分.

例如,用户设置此配置:

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();

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...