【超入門】Laravelデバッグ:バグ狩りのアート

laravel

発端

今まで、Railsを扱ってきました。

Railsでデバッグするとなると、pry-railsを導入して、binding.pryを仕込んで、、、で済んでいたました。

この度、Laraveを使うことになりました!

Laravelでデバッグどうするんじゃい?と少し思ったので、まとめました!

できるようになること

  • ここの処理に来ているかな?の確認
  • 処理で利用されている変数の中身の確認(これがやりたかった!)

早速例を通して見ていきまーす

手順

1. デバッグしたいプロジェクトを持ってくる。(なければ作る!?)

私は作った。

composer create-project laravel/laravel laravel-test

とでも打ってくれ!一瞬でできる。

簡単にユーザー登録などを提供してくれるBreezeを用いる。

導入方法はこちらを見てくれ!(私の場合は以下の3つを打つだけだ。)

こちらも一瞬で作ってくれるぜ!

composer require laravel/breeze --dev
php artisan breeze:install
php artisan migrate

そして、今回はユーザー新規登録時に動くRegisteredUserController.phpのstoreメソッドの中の変数$requesetの中身が見たい!という想定だ!

2. プロジェクト起動

こうなる!

 

3. デバッグしたい場所にLogを仕込む

それぞれ、デバッグした場所に画像の35行目のように仕込んでくれ!私の場合は$requestを調べたかった!

おっと、Logを仕込んだファイルで、useを用いてimportするのを忘れずに!

4. ログファイルをターミナルで開いておく

tailコマンドを使ってログファイルを開いておくぜ!

ちなみにtailとは尻尾、末尾の意味を表し、ファイルの最後の方にある記述を見れるコマンドになっているぜ!

オプションの-fはfollowの略だ!新しく上書きされたものを追っかけてくれるログファイルを見るのには打ってつけのオプションだ!ログファイルはstorage/logsの中にlaravel.logというファイルだ

というわけで下記のコマンドを実行してくれ!

tail -f storage/logs/laravel.log
5. 動かしてみる

あとは、GIF動画のように、画面を並べて、実際にLogを仕込んだ箇所を通るように動かしてくれ!

ターミナルにログが動かした瞬間に追加されるのが把握できるので分かりやすいぞ!

これで$requestの中身がどうなっているのかわかった。めでたしめでたし!

 

コメント