2016-05-10 10 views
0

Я пытаюсь использовать пользовательские настройки для моей пачкеSymfony2 Bundle конфигурации

#app/config.yml 
config.yml 
     my_app: 
       level1: 
        level2: 
         - "first data" 
         - "second data" 

Как я могу получить эту информацию до контроллера или услугу

#My/AppBundle/DependencyInjection/Configuration.php 
     $treeBuilder = new TreeBuilder(); 
     $rootNode = $treeBuilder->root('my_app'); 

     $rootNode 
      ->children() 
       ->arrayNode('level1') 
        ->children() 
         ->arrayNode('level2')->end() 
        ->end() 
       ->end() 
      ->end() 
    ; 

Этот код генерирует следующее сообщение об ошибке:

InvalidConfigurationException in ArrayNode.php line 317: Unrecognized options "0, 1" under "my_app.level1.level2" 

Как это можно сделать?

+0

Вы можете впрыснуть конфигурации к службе или установить в качестве параметров в 'YourBundleExtension.php' файл. Найдите другие файлы пакетов, и вы будете знать, как это сделать. – malcolm

ответ

2

Я думаю, что вы должны сделать что-то вроде:

->children() 
    ->arrayNode('level2') 
     ->prototype('scalar')->end() 
    ->end() 

Если вам нужно больше помогает, проверить here для получения дополнительной информации