2012-03-29 5 views
3

Kann die symfony2 nur flache Parameter verarbeiten?Wie kann man auf Arrays in symfony's Konfigurationsdateien zugreifen?

Sagen wir:

services: 
    manager: 
     class: blabla 
     arguments: [%app.vat%] 

und in app.yml:

parameters: 
    app.vat: 24.5 

es funktioniert, aber

parameters: 
    app: 
     vat: 24.5 

funktioniert nicht. Gibt es eine spezielle Syntax für den Zugriff auf Arrays oder ist dies nicht möglich?

+1

Ich glaube nicht, Verschachtelungsparameter auf diese Weise möglich ist. Es könnte nur möglich sein, wenn App eine Instanz einer Framework-Klasse ist. Dann könnten Sie diese Punktnotation verwenden. Dies ist beispielsweise der Fall mit dem Parameter 'kernel.root_dir'. – Kosta

+0

Sie können Yaml :: Parse-Funktion zum Testen testen :) – ZhukV

Antwort

0

Dies ist in der Tat möglich. Sie können die Werte aus Ihrem Beispiel in der Code wie folgt zugreifen:

$config = $this->get('service_container')->getParameter('app.vat'); 

Wenn dies immer noch nicht funktioniert, sollten Sie versuchen, „app“ in etwas umbenennen anderes (zum Beispiel „Anwendung“). Symfony bewahrt an vielen Stellen den Namen "App" auf und behandelt sie auf besondere Weise.