我想创建一个Symfony Configuration类,它接受以下YAML配置:
bundle_name:
section:
attributeAsKey:
- entry 1
- entry 2
然后会产生如下数组:
array(
'section' => array(
'attributeAsKey' => array(
'entry1',
'entry2'
)
)
)
我尝试了以下方法,但它不起作用。我做错了什么?
->arrayNode('section')
->useAttributeAsKey('attributeAsKey')
->prototype('array')
->children()
->arrayNode('entries')
->prototype('scalar')->end()
->end()
->end()
->end()
->end()
答案 0 :(得分:0)
这就是我最后做的事情......
->arrayNode('formats')
->useAttributeAsKey('format', true)
->prototype('array')
->beforeNormalization()
->ifTrue(function ($v) { return is_array($v) && !isset($v['mimeTypes']); })
->then(function ($v) { return array('mimeTypes' => $v); })
->end()
->children()
->arrayNode('mimeTypes')
->prototype('scalar')->end()
->end()
->end()
->end()
->end()
返回的数组有' mimeTypes' key,buit允许我定义这样的配置:
formats:
json:
- application/json
- application/x-json
- application/vnd.lemon+json
除了使用' mimeTypes'键。