Tobilog-Selection
こんにちは。トビログ管理人のとびうおです。本日はLaravel8にてencファイルを更新したのに反映されないぞ!という場合どのようなことをしたらいいのかを説明していきます。
まずはキャッシュクリアのコマンド
php artisan config:cache
php artisan cache:clear
こちらのコマンドをまずは実行してみましょう。
直接envファイルを参照するな!
もしコントローラーやモデルからenvファイルを直接していしている場合、それが原因の可能性が大です。
理由としては先ほどのコマンド(キャッシュクリアするコマンド)が反映されないからです。
もしコントローラー上からenvファイルを見たい場合は、
コントローラーorモデル→コンフィグフォルダにファイルを作る→envファイル参照
という流れにしましょう。
具体的にどういうことかと言いうと、
コントローラーorモデルに
$this->client_id = env('line_client_id');
このように書くのではなく、cofigフォルダにline.phpというファイルを作って、その中に
// line.php
<?php
return [
'client_id' => env('line_client_id'),
];
と書いて、コントローラーorモデル上で、
$this->client_id = Config('line.line_client_id');
と書くようにしましょう。
何をしているかと言うと
- コントローラー上でConfigメソッドを使ってConfigの値を参照しに行く。
- Configの値を参照しに行くと、envメソッドでenvファイルの値を参照しに行く。
- そのenvファイルの値が結果的に呼び出される。
この3のConfigを参照しにいくというのを一度挟むのがかなり重要なことになっています。
Configメソッドの使い方
これは非常に簡単で
Config('ファイル名.key名')
とすれば良いだけです。
一応configの中のファイルの書き方
// config/〇〇.php
<?php
return [
'key名' => 返したい値,
];
このように書きます。
定数などを返したい時に使うことが多い気がします。
参考記事
8.x 設定 Laravel
その他のおすすめ記事
Laravel
「Laravel」の記事一覧です。
自分が書いているLaravelの記事一覧です!
コメント