Quantcast
Channel: laravel5.8タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 87

laravelでenv()を使用するときの注意点

$
0
0

.envに追記した内容を取得するとき、laravelでは env() でとれるけど
config:cacheコマンドを実行するとnullになるとのこと…
理由としては.envファイルの内容はcacheに保存されているからのようです。

php artisan config:cacheとは

configディレクトリにあるファイルすべてを合わせて1つのキャッシュファイルにして、設定データのローディング時間を速める
.envファイルを変更した時やconfig/〜.phpファイルを変更した時は php artisan config:cache の実行をして変更内容を読み込ませる。

.envファイルの書き方

API_KEY=情報を書く

.envでコメントを書くとき: # 以降コメントアウトになる
半角スペースを入れたいとき: "" (ダブルクオート)で囲む
環境変数の中にシャープを入れたいとき: "" (ダブルクオート)で囲む

config/〜.phpでenv()を使用する

configディレクトリはアプリケーションの設定ファイルがまとめてあるディレクトリ。
ここに新しくファイルを作るなどをして.envの内容を env() で取得する。
第1引数は.envファイルでのキー名、第2引数はデフォルト値

config/test.php
'key_name' => env('API_KEY'),  //例

コントローラーなどで.envの内容を使用する場合

コントローラーやモデルからは config() をつかう

config('test.key_name');  //例

分解すると
test の部分: config/〜.phpの、phpのファイル名(例ではtest.php)
key_name の部分: config/〜.phpでファイル内で設定したキー名

# Configuration Caching


まとめ :bread:

laravelでは.envファイルの内容を取得するにはconfigディレクトリ内で env() を使用し、 コントローラーやモデルでは基本的に env() を使わないようにする。
コントローラーやモデルでは基本的にconfigディレクトリ内で設定したキーを config() を使用し取得する。
.envファイル変更時やconfig/〜.phpファイルを変更時は php artisan config:cache を実行し、変更内容を読み込ませる。

奥がふかい


Viewing all articles
Browse latest Browse all 87

Trending Articles