2017-10-22 3 views
1

ich diese config in config.yml Datei in meinem Symfony 3.5 Projekt mit dem Namen zu nennen:Versuchte eine nicht definierte Methode „arrayNode“

my_config: 
    token: mHSHlSHl-QqSHlX-SHlQqShzO2ibzGnsNk-Q 
    username: test 

    development: 
     developers_id: [130] 
     maintenance: 
      enable: true 
      text: "text of text" 

ich ein Bündel haben diese config in meiner configuration.php Datei zu analysieren. In der Bündel Dependency Injection habe ich diesen Code:

$treeBuilder = new TreeBuilder(); 
$rootNode = $treeBuilder->root('my_bundle'); 
$rootNode->children() 
    ->scalarNode("username") 
    ->end() 
    ->scalarNode("token") 
     ->isRequired() 
    ->end() 
    ->arrayNode('development') 
     ->children() 
      ->booleanNode('send_log') 
       ->defaultFalse() 
      ->end() 
      ->arrayNode('developers_id') 
       ->prototype('scalar') 
      ->end() 
      ->arrayNode('maintenance') 
       ->children() 
        ->booleanNode('enable') 
         ->defaultFalse() 
        ->end() 
        ->scalarNode('text') 
         ->defaultValue('default text') 
        ->end() 
       ->end() 
      ->end() 
     ->end() 
    ->end() 
->end(); 

return $treeBuilder; 

Wenn ich diesen Code ausführen bekomme ich diesen Fehler:

Attempted to call an undefined method named "arrayNode" of class "Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition".

Was soll ich tun?

+0

Versuchen Sie den Cache ('Cache zu löschen: clear [--env = ...] [--no-debug] '), wenn das nicht hilft: Zerlege den Code direkt vor der Zeile, die den Fehler auslöst und decke an diesem Punkt' $ rootNode' ab, um zu sehen, was es ist Art. – ccKep

+0

@ccKep Ich kann keine Befehle ausführen, weil ich einen Fehler erhalte –

Antwort

0

ich diesen Fehler, da nach ->prototype('scalar') i nicht ->end() geschrieben habe, ich hinzufügen ->end() und mein Problem gelöst

richtige Syntax ist wie folgt:

->arrayNode('developers_id')  
    ->prototype('scalar') 
    ->end() 
->end() 
Verwandte Themen