本番(production)と開発(local)について.envファイルについて.envファイルを使って開発環境と本番環境を切り替えたり、データベースなどの接続情報の変更を行うことができます。Laravelにとって重要な設定変更をこのファイルを介することで簡単に行うことができます。開発環境では簡易的なsqliteのDBに接続し、本番環境ではmysqlのDBに接続といった変更が可能です。etc.)で.envファイルのキーと値が読み込まれています。.envファイルの値を変更してみよう言葉だけの説明だけでは理解するのは難しいので.envファイルにあるAPP_DEBUGの値を変えることでどのような変化があるか確認してみます。.envファイル内のAPP_DEBUGはデフォルトではtrueに設定されています。APP_DEBUGはLaravelにアクセスしている時にプログラムの記述ミスやバグがあった場合に原因を究明するために必要となるエラーメッセージの詳細情報を出力してくれます。意図的にエラーを発生させるためにbladeファイルに以下の記述しますが、$somethingの変数には何も値を入れていません。}}</p>ブラウザからアクセスするとエラーの詳細画面が表示されます。something(定義されていない変数something)です。このようにエラーの原因を把握することができます。次に.envファイル内のAPP_DEBUGの値をtrueからfalseに設定してみましょう。Errorが表示されます。これでは原因がわかりませんが、本番環境ではエラーの詳細情報をユーザに直接見せないためにAPP_DEBUGはfalseに設定します。config:clearコマンドを実行してください。.envの現在の値を確認してみよう.envファイルに設定されている値が現在どのような値になっているかはenvヘルパー関数を利用することで確認することができます。env('DB_CONNECTION')}}</p>envファイルを書き換えた場合に設定値が反映されているのか確認したいという時はenvヘルパー関数を使用してみてください。.envファイルは一度ロードされてキャッシュされるとenvヘルパー関数を実行しても値はNULLになり画面にはなにも表示されません。config:clearを実行してください。config:cacheというコマンドもありますが、実行後キャッシュをクリアにして再度キャッシュするという動作を行うため、このコマンドを実行後にenvヘルパー関数を実行しても値は表示されません。config:cacheを実行すると下記のように表示されます。successfully!configについて.envファイルがどのようなこと利用方法が少し理解できたかと思います。APP_DUBUG以外の設定がどのように利用されるか確認してきます。.envファイルにはキーと値のペアが記述されており、おれらのペアはconfigディレクトリ以下の各種機能の設定ファイルを使って利用されています。どのようにenvファイルが利用されているか確認し、確認後に設定されている設定値についてconfig関数を使ってその値を取り出します。データベースの設定の確認を行うデータベースの設定はconfigディレクトリ下にあるdatabase.phpファイルで行っています。設定値の大半は、env関数を利用して.envファイルから値を読み込んでいます。.envファイルが利用方法をdatabase.phpファイルの上部に記述されているdefault値の設定で説明を行います。'mysql'),上記の記述であれば、DB_CONNECTIONの設定値はmysqlに設定されていると思ってしまうかもしれませんが実際はそうではありません。上記の設定はもし.envファイルにDB_CONNECTIONが設定されていなければdefaultにmysqlが設定されるということを表しています。初期設定ではDB_CONNECTIONにmysqlが設定されているので、いずれにせよdefaultの値はmysqlが設定されます。defaultに設定されている値は、config関数を利用することで確認することができるのでconfig関数を利用してdafaultの設定について確認します。config関数についてconfig関数を使うとconfigディレクトリ以下で設定されている各種設定値の値を確認することができます。database.phpファイルではenv関数を使ってdefault値を設定を行っていることは先程説明しました。実際の設定値はconfig(‘database.default’)で見ることができます。}}</p>例えばconfig(‘filesystems.disks.s3.region’)と設定すればfilsystems.phpファイルに設定されているs3のregionの値を読み取ることができ、envファイルのAWS_DEFAULT_REGIONに設定されているus-east-1を確認することができます。画面には、mysqlと表示されます。.envファイルのDB_CONNECTIONに文字列abcdefを設定するとどうなるか確認しましょう。DB_CONNECTION=abcdefブラウザでアクセスするとabcdefが表示されます。databaseのdefault値を確認する.envファイルからDB_CONNECTIONを削除するとmysqlが表示されます。env関数では.envファイルのDB_CONNECTIONがあればその値を使用し、なければmysqlを使っていることが確認できます。.envファイルを利用する例えば何かアプリケーションをLaravelで使用することになった場合にパスワードを.envファイルに保存するとenv関数を利用してその値を取り出し使用することができます。config:clearでキャッシュを削除しブラウザでアクセスすると画面に123456789ABCDEFが表示されます。このように.envファイルに記述した内容を取得できることがわかりました。独自configファイルを作成する独自で作成したconfigファイルの中身もconfig関数を利用して取得することができます。configディレクトリの下にexample.phpを作成します。'XXXXX'),];.envファイルにEXAMPLE_APP_KEYの記述を行っておけば、config(‘example.key’)を使って値をLaravelのプログラムで使用することができます。本番(production)と開発(local)について本番環境と開発環境の切り替えは.envファイルのAPP_ENVを利用して行うことができます。envを使って確認することができます。プログラムの中で本番と開発の分岐を行うたい場合は、App::environment()を利用することができます。localだけではなくdevelopmentなど他の文字列も使用することができます。App::environment()を使って下記のように分岐を行うことができます。本番(production)と開発(local)について。