私はHerokuを使ってSymfony 3アプリケーションをホストしています。カスタム証明書を設定する必要がある新しいデータベースプロバイダに切り替えるつもりです。symfonyのconfig.ymlでサービスを作成せずに設定パラメータを設定する方法
私はバージョン管理下に証明書を格納したくないので、環境変数として設定されているURLから展開時に証明書ファイルをダウンロードする新しいコマンドを書くことにしました。
incenteev-parameters
をcomposer.json
に設定すると、適切な値がparameters.yml
に設定されます。しかし、私が知る限り、この値をparameters.yml
から直接読み取る方法はないので、に新しいURLパラメータ(parameters.yml
)を使用する必要がありますが、新しいサービスを作成する必要があります。
デプロイメント時に証明書をダウンロードできるように、この新しいurlパラメータを新しいコマンドから読み込みたいだけです。
パラメータはすでにサービスとして定義されていますが、コマンドをサービスとして定義すると機能する場合にのみ機能します。私はそれを試み、あなたに戻ってきます。 – tatsuhirosatou
パラメータをサービスとして定義することはできません。 parameters.ymlでパラメータ値を定義し、私の答えから提案された方法の1つを使用してコマンドクラスから取得する必要があります。パラメータについてのsymfonyのドキュメントを見てください:http://symfony.com/doc/current/service_container/parameters.html –
申し訳ありませんが、私はパラメータをサービスとして定義することを意味しませんでした。私が意味することは、指定されたパラメータを使用するサービスを定義する必要があるということです。 '$ this-> getContainer() - > getParameter( 'your_parameter_key');'は、指定されたサービスによって使用されるパラメータに対してのみ機能します。 'config.yml'でそのパラメータを使用するサービスがない限り、' $ this-> getContainer() - > getParameter( 'your_parameter_key');で 'parameters.yml'上のものに直接アクセスすることはできません。私はあなたの2番目の提案を使用し、それは働いた。 – tatsuhirosatou