1. ホーム
  2. symfony

[解決済み] symfony2のコントローラでparameters.ymlから読み込むにはどうしたらいいですか?

2022-04-28 15:28:55

質問

app/config/parameters.yml にカスタム変数をいくつか入れています。

parameters:
    api_pass: apipass
    api_user: apiuser

コントローラからこれらにアクセスする必要があり、以下の方法でこれらを取得しようとしました。

$this->get('api_user');

をコントローラファイル内から実行します。これを試すと、次のようなエラーメッセージが表示されます。

You have requested a non-existent service "api_user".

正しい方法は何ですか?

どのように解決するのですか?

Symfony 2.6 およびそれ以前のバージョン コントローラでパラメータを取得するには、まずコンテナを取得し、次に必要なパラメータを取得する必要があります。

$this->container->getParameter('api_user');

これは ドキュメント編 が解説しています。

一方 $this->get() メソッドでサービスをロードします ( ドク )

Symfony 2.7 およびそれ以降のバージョン を使用すると、コントローラ内のパラメータを取得するために、以下のようになります。

$this->getParameter('api_user');