Help us understand the problem. What is going on with this article?

Symfony2 環境の切り替え

More than 5 years have passed since last update.

Symfony2 環境の切り替え

  • 環境毎に参照するパラメータだったりDBを変更したい
  • Staging環境を追加したい

方法

環境毎に参照するparameters.ymlを変更

  • config_{env}.yml の要にファイルが配置されている
  • config_test.ymlからconfig_dev.ymlを読み込んでいる
  • config_dev.ymlからconfig_prod.ymlを読み込んでいる
  • config_prod.ymlからconfig.ymlを読み込んでいる
  • config.ymlからparameters.ymlを読み込んでいる
  • なので、それぞれのconfig_{env}.ymlから、parameters_{env}.ymlを呼び出すよう修正
  • config_stg.ymlはconfig_prod.ymlをコピって作る
  • AppKernel.phpもちょっと修正
  • app.php,app_dev.phpを見習ってapp_stg.phpを作る(割愛)
config.yml
imports:
    # コメントアウト
    # config_%kernel.environment%.yml を参照させるため
    # - { resource: parameters.yml }
    - { resource: security.yml }
config_prod.yml,config_dev.yml,config_test.yml,config_stg.yml
imports:
    #- { resource: parameters_%kernel.environment%.yml } # 追加:これだと%kernel.environment%を見てくれないケースがあったので以下の通り再定義
    - { resource: parameters_dev.yml } # 環境により dev,prodなど変える
    - { resource: config.yml }
AppKernel
// stg を追加
        if (in_array($this->getEnvironment(), array('dev', 'test', 'stg'))) {
Liberty
medley
医療ヘルスケア分野の課題を解決する
https://www.medley.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away