6

app.ymlにいくつかの構成データを取得しましたが、実際にそれらを予測したいと思います。sfConfig :: get('app_datas')で取得してこれを実行しようとしましたが、失敗します。それらを詳細に示しましょう:

YAML:

all:
  datas:
    foo: bar
    foo2: bar2

そしてactions.class.phpで私はこのコードを使ってみます:

foreach (sfConfig::get('app_datas') as $key => $value) {

    echo "key $key has value $value";

}

sfConfig :: get('app_datas')がNULLであるため、機能しません。どのように簡単に取得できますか?

4

2 に答える 2

17

配列として最初のレベルにアクセスしたい場合は、@ jeremyが提案したように、間にダミーレベルを導入できます。変数名を構成に実際に表示したくない場合は、接頭辞としてドットを付けます。

all:
  .baz:
    datas:
      foo: bar
      foo2: bar2

これで、次のコマンドでデータにアクセスできるようになります。

foreach (sfConfig::get('app_datas') as $key => $value) 
{
  echo "key $key has value $value";
}
于 2010-10-16T15:40:18.150 に答える
11

Symfonyがapp.yml設定ファイルをロードするとき、それは2番目のレベルだけを保存します。app_datasしたがって、直接アクセスすることはできません。fooとを含む配列を取得する場合はfoo2、次のようなYAMLファイルを作成します。

all:
  datas:
    baz:
      foo: bar
      foo2: bar2

次に、キーsfConfig::get('app_datas_baz')を含む配列foofoo2キーとしての配列を実行できます。

編集時:kubaの方法はダミーよりも優れています。あなたがそれをすることができるのを忘れました。

于 2010-10-16T15:14:13.237 に答える