2017-05-11 6 views
2

からCommand\ContainerAwareCommandクラスにパラメータが必要です。私はそこに$this->getParameter()を見ない。コントローラの外部でparameters.ymlからパラメータを取り出す方法は?

コントローラー外のparameters.ymlからパラメーターを取得する簡単な方法はありますか?

よりシンプル: 書き込み「友好の構成」、およびconfig.ymlにパラメータfooを入れ、その後、DependencyInjection\Extension::load()でのparamを取得し、それを設定します。$container->setParameter('foo', $foo)を、そして最終的にCommand\ContainerAwareCommand$this->getContainer()->getParameter('foo')を取得しますか?

答えて

5

あなたは単に経由でコンテナにアクセスすることができます。

... extends ContainerAwareCommand 

... 
$this->getContainer()->getParameter('my-params'); 

EDIT:

独自のカスタムパラメータは、その後一例として、メインconfig.ymlファイルにインポート定義することができます。

config.yml

imports: 
    - { resource: parameters.yml } 
    - { resource: security.yml } 
    - { resource: services.yml } 
    - { resource: "@ApplicationBundle/Resources/config/parameters.yml" } 

このヘルプを参考にしてください

+0

ボーナスポイントなし:AppBundleを再利用可能にするには、 'src/AppBundle/Resources/config /'にparameters.ymlを保存できますか?このファイルは自動的にインポートされますか?私はSymfonyの例外を持っています。パラメータ "foo"を定義する必要があります。 – user6827096

+1

hi @ user6827096もちろん、どの場所でもパラメータを定義してインポートできます。私は私の答えを更新、この助けを願って – Matteo

+0

ありがとう.............. – user6827096

関連する問題