👾
Laravel開発時のTips
Laravelで開発するにあたって度々詰まるところが出てくるので、その時の対処法をまとめています。便利なTipsはどんどん追記していきます。
実行環境
- php 7.3
- Laravel 5.8
ログ出力
Logファサードを使うのが便利です。出力結果は、 storage/logs/laravel.log
に貯まっていきます。ログの重要度に応じて、 info
や debug
を使い分ければOKです。
<?php
\Log::info('ログ出力');
/*
* 出力結果:
* ログ出力
*/
$hoge = ['a', 1, 'Z'];
\Log::info($hoge);
/*
* 配列の場合も中身を展開してくれます
* 出力結果:
* local.INFO: array (
* 0 => 'a',
* 1 => 1,
* 2 => 'Z',
* )
*/
キャッシュ系コマンド
Laravelはキャッシュが効きすぎてるおかげ(せい)で、コードを修正しても修正が適用されない場合があります。そういった場合には各キャッシュを消してみましょう。
アプリケーションのキャッシュを消したいときに使っています。
php artisan cache:clear
設定ファイル(.envやconfig/*をいじったとき)のキャッシュを消したいときに使っています。
php artisan config:clear
ルート(not / but routes/*)のキャッシュを消したいときに使っています。
php artisan route:clear
ビュー(bladeやtwig)のキャッシュを消したいときに使ってます。
php artisan view:clear
キーの再生成
キーを再生成したいときに使います。全てのキャッシュを消したいときに使ってます。stg環境や本番環境ではNGですが、local環境ではキャッシュを細かく消すのは面倒なので、キャッシュ削除時にはこれを実行しています。
php artisan key:generate
env() 禁止令
env()は直接使わないようにしましょう。config/*.phpにenv()の値を入れてconfig()から参照するのがよいです。
localやstg環境では、.envファイルを読んでくれるので問題ないですが、本番環境では.envファイルを読み込まずにエラーになるため。
config/my-config.php
<?php
return [
'hoge' => env('HOGE'),
];
hoge.php
<?php
// こちらは決してやってはいけない
$hoge = env('HOGE');
// 必ずconfig()を経由する
$hoge = config('my-config.hoge');
Discussion