2012-03-29 11 views
3

symfony2はフラットなパラメータだけを扱うことができますか?symfonyの設定ファイルで配列にアクセスする方法は?

は、我々が持っていると言う:

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

とapp.ymlファイルで:

parameters: 
    app.vat: 24.5 

それは動作しますが、

parameters: 
    app: 
     vat: 24.5 

は動作しません。配列にアクセスするための特別な構文がありますか?これは不可能ですか?

+1

このようにパラメータを入れ子にすることは可能ではないと思います。 appがいくつかのフレームワーククラスのインスタンスである場合にのみ可能です。次に、このドット記法を使うことができます。これは、例えば、 'kernel.root_dir'パラメータの場合です。 – Kosta

+0

テストのためにYaml :: parse関数をテストできます:) – ZhukV

答えて

0

これは実際に可能です。あなたはこのようなあなたのコードの中であなたの例からの値にアクセスすることができます。

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

これはまだあなたが何か他のもの(例えば、「アプリケーション」)に「アプリ」の名前を変更しようとする必要があります動作しない場合。 Symfonyは多くの場所で "app"という名前を保持し、それを特別な方法で処理します。

関連する問題