はじめに
Laravelのデバッグ方法って結構いろいろありますよね。
ただ、結局使うのって一部だと思うので、今回の記事では私が主に利用している2つの方法に絞ってご紹介致します!
1.Xdebug
設定等が面倒で、いろいろつまづきポイントはあるものの、一旦いれてしまえば強力な味方になってくれること間違いなし。
まずはXdebugをいれましょう!
- ステップデバッグができる
- プログラムの処理の流れを追うの、めちゃくちゃ大変じゃないですか!?
- ステップインで追いたい関数の中にも入っていけるので、「定義へ移動」で追いにくい関数もらくらく調査可能!
- 変数の調査がしやすい
- 処理を進めるごとに変数の中身を更新内容も含めて確認できるの最高
- PHPの標準関数「var_dump」でもデバッグはできるけど、ある時点での変数の中身しか確認できないですもんね
- 処理を進めるごとに変数の中身を更新内容も含めて確認できるの最高
- スタックトレースの表示がわかりやすい
- あたりをつけて、「プログラムのここが動いているのでは?」と思ってデバッグしたときに、「なるほど、ここが動いているのはわかった。だけどその前はどこがどう処理をしていたの?」ってなることないですか?
- そんなときに、プログラムが今までどの処理をしてきたかが可視化できるスタックトレース最高だいすき
- そのスタックトレースを見やすくしてくれる拡張機能もあります
2.Log
とはいえ、Xdebugが使えない場面もあります。
そんなときにはLaravelのLogを使用しましょう!
- エラー発生時の原因究明がしやすい
- Log出力を書いておいて、その周辺で問題が起きた際に問題点を教えてくれたりします
- ログの収集に慣れる
- トラブル時にログの収集は必須ですが、普段やっていない作業なだけに個人的に不安があります
- 普段から利用することで、ログの収集の仕組みにも強くなれます!
先頭バックスラッシュの要・不要
- バックスラッシュは、グローバル空間であることを示す記述です。
- ログの書き方を紹介している記事で2通りの書き方をしているパターンがありました
- パターン1(よく見る)
Log::info('This is info Logging.');
- パターン2(先頭にバックスラッシュ有り)
\\Log::info('This is info Logging.');
- パターン1(よく見る)
- useとか使わずに、他のクラスを「グローバル空間における名前」で呼び出すときはバックスラッシュをつけると良いです!
終わりに
今回は「デバッグ方法ってどれ選べばいいの?」というところに絞ってお話をしたため、具体的な導入方法・使い方については割愛させていただいております。
Laravelのデバッグ方法は複数ありますが、どれから試せばいいんだろう…?と迷っている方の参考になれば幸いです。
もっと便利な方法があれば知りたい&使いたいな〜!
コメント