👾

Laravel開発時のTips

2020/10/14に公開

Laravelで開発するにあたって度々詰まるところが出てくるので、その時の対処法をまとめています。便利なTipsはどんどん追記していきます。

実行環境

  • php 7.3
  • Laravel 5.8

ログ出力

Logファサードを使うのが便利です。出力結果は、 storage/logs/laravel.log に貯まっていきます。ログの重要度に応じて、 infodebug を使い分ければ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