195

次のように config.yml ファイルに設定を追加しました。

app.config:
    contact_email: somebody@gmail.com
    ...

私の人生では、それを変数に読み込む方法がわかりません。コントローラーの1つで次のようなことを試しました:

$recipient =
$this->container->getParameter('contact_email');

しかし、次のようなエラーが表示されます。

パラメータ「contact_email」を定義する必要があります。

キャッシュをクリアしました。また、Symfony2 のリロードされたサイトのドキュメントを隅々まで調べましたが、これを行う方法がわかりません。

おそらく、今これを理解するには疲れすぎているのでしょう。誰でもこれを手伝ってもらえますか?

4

6 に答える 6

195

contact_emailapp.configで定義するのではなく、parametersエントリで定義します。

parameters:
    contact_email: somebody@gmail.com

コントローラ内で行っている呼び出しが機能するようになっているはずです。

于 2011-01-30T20:45:33.713 に答える
36

ダグラスの答えに追加する必要があります。グローバル設定にアクセスできますが、symfonyはいくつかのパラメーターを変換します。例:

# config.yml
... 
framework:
    session:
        domain: 'localhost'
...

それは

$this->container->parameters['session.storage.options']['domain'];

var_dumpを使用して、指定したキーまたは値を検索できます。

于 2012-08-07T22:13:22.507 に答える
16

バンドルの一部の構成パラメーターを公開できるようにするには、ドキュメントを参照してください。やり方はかなり簡単です:)

リンクは次のとおりです:バンドルのセマンティック構成を公開する方法

于 2013-04-15T12:37:57.090 に答える
7

前に言ったように、注入コンテナーを使用して任意のパラメーターにアクセスし、そのパラメーター プロパティを使用できます。

「Symfony - コンテナ サービス定義の操作」は、それに関する優れた記事です。

于 2012-10-01T20:23:02.857 に答える