【Laravel5】実行環境と設定ファイルの関係

China - Fenghuang

【Laravel5】実行環境と設定ファイルの関係

Environments and Configuration – Laravel5 Fundamentalsを元に付加情報をつけて記載しています。

GitHubにサンプルプロジェクトがあります。

ryo-ogata/learning-laravel-5

環境の設定とは?

よくあるWebの開発だと、自分のローカル開発環境、動作確認用環境、仮本番用環境、本番環境と、単純に考えても4つもの環境で同じアプリケーションを動作させなければなりません。

Laravel4では、環境毎に設定ファイルを変える方法がいくつかありますが、Laravel5で標準インストールされているDotEnvについて、紹介します。

DotEnv

DotEnvとは、環境毎の設定をソースや環境変数ではなく、外部ファイルにもつことができるようにするためのライブラリです。

関連のあるファイルは、.env.env.exampleの2つです。

  • .env

    チーム開発をするとき、.env.exampleはリポジトリにPUSH対象としておき、.envは各自の端末で作っておき、.gitignoreに追加して、無視されるようにしておきます。

データベースの設定ファイルを見てみます。

  • config/database.php

    env('DB_HOST', 'localhost')の部分がDotEnvで定義した値で置き換えられます。.envから値が取得できないとき、第2引数の値が代入されます。

Tips

  • コード上で環境を取得したい場合

  • メンテナンスモードにする

    元に戻す

  • 設定ファイルのキャッシュを更新する

    Laravel5から設定ファイルをまとめたものが出力されていく仕様になったようです。設定ファイルを変更したらphp artisan config:cacheをしておきましょう。

    storage/framework/config.phpのファイルが更新されているはずです。

まとめ

<

p>DotEnvをつかい環境毎の設定を変える手順を紹介しました。Laravel4のときと比べ、ソースやディレクトリ構成もそのままで設定できそうです。

次回はデータベースのマイグレーションについて紹介したいと思います。

Comments are closed, but trackbacks and pingbacks are open.