いつもお世話になっております。
mac OS 10.12.6
laravel5.5
で作業しています。
composerでlaravelをインストールしました。
本番環境、テスト環境、ローカル環境でmysqlなどの設定を切り替えたいと思っています。
以下の2点質問させてください。
- laravel5系から搭載されたDotEnvの流れの考え方があっているかどうか
- laravel5系での環境切り替えの最適解
環境切り替えには今回初めて挑戦してみているのですが、調べてみると2つの判定方法があるそうで、
・ドメイン名で判定
・環境変数で判定
ドメインは偽装ができるので環境変数で判断した方が良いとのことでしたし、laravelのコードを読んでみると環境変数で判定しているようでした(全ては理解できませんでしたが、、)。
今のところDotEnvは.env
ファイルに環境変数を集約するものだと考えています。
1)DotEnvが入っているのでまず.env
を見に行く
2)/config以下の*.php群(database.phpなど)と差分があれば.env
の内容で上書きする
3).env
がなければproduction環境になる
↓おそらくココ(app/config/app.php 18行目)
php
1 /* 2 |-------------------------------------------------------------------------- 3 | Application Environment 4 |-------------------------------------------------------------------------- 5 | 6 | This value determines the "environment" your application is currently 7 | running in. This may determine how you prefer to configure various 8 | services your application utilizes. Set this in your ".env" file. 9 | 10 */ 11 12 'env' => env('APP_ENV', 'production'),
という流れだと思うのですが、この場合だと開発か本番の二択になるのと、結局productionの設定はどこに書けば良いかがわからなくなりました(.envで上書きされないのでそのまま/app.config以下の設定になるということでしょうか、、?)
laravel4系だとconfigに環境毎にファイルを分けて、bootstrap/start.phpで切り替えをしていたようなのですが、laravel5.5だとどのように環境切り替えするのが一番良いのでしょうか?
初心者で申し訳ありませんが、どなたか教えて頂けるとありがたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/26 16:29