LoginSignup
5
6

More than 5 years have passed since last update.

Symfony2 環境の切り替え

Last updated at Posted at 2014-02-07

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'))) {
5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6