Зравствуйте!
Есть следующий конфиг:
app:
search:
files:
AppBundle\Entity\Page\Page\Content:
- content
AppBundle\Entity\Page\News:
- content
- file
Как описать его в TreeBuilder чтобы получить аналогичную структуру?
array (size=2)
'AppBundle\Entity\Page\Page\Content' =>
array (size=1)
0 => string 'content' (length=7)
'AppBundle\Entity\Page\News' =>
array (size=2)
0 => string 'content' (length=7)
1 => string 'file' (length=4)
На данный момент получилось сделать следующим образом:
$rootNode
->children()
->arrayNode('search')
->children()
->arrayNode('files')
->beforeNormalization()->always(function($values){
$result = array();
foreach ($values as $class => $fields) {
$result[$class]['fields'] = $fields;
}
return $result;
})->end()
->prototype('array')
->children()
->arrayNode('fields')->prototype('scalar')->end()
->end()
->end()
->end()
->end()
->end()
->end()
;
Но на выходе получаем:
array (size=2)
'AppBundle\Entity\Page\Page\Content' =>
array (size=1)
'fields' =>
array (size=1)
0 => string 'content' (length=7)
'AppBundle\Entity\Page\News' =>
array (size=1)
'fields' =>
array (size=2)
0 => string 'content' (length=7)
1 => string 'file' (length=4)
Заранее благодарен.