Laravelで使える便利なデバッグ方法① | 株式会社スタイラジーの「居心地の良い」ブログ

株式会社スタイラジーの「居心地の良い」ブログ

会社の事や仕事の事、
その他イベントなど、
色々な話題を思うがままに
株式会社スタイラジー社員
の日常を紹介します。

株式会社スタイラジーの
「居心地の良い」ブログ、
2008年1月7日スタート!

今回はLaravelで使える便利なデバッグ方法を紹介します。
PHPに備わっている print_r や var_dump などのメソッドでも十分デバッグできるのですが、
開発を簡単に、効率よく行うために手助けしてくれるのがフレームワークですから、
デバッグ方法にも便利なものを用意してくれているというわけです。

dd

まず最初に紹介したいのが dd というメソッドです。

dd($request)

こういった形で、中身を確認したい変数などを引数として渡すことで、デバッグが可能です。
画面には次のように表示されます。



表示される内容は var_dump に近いものだと思いますが、
色を付けてくれていたり、配列やオブジェクトなどで表示する子要素が多いものについては
折りたたんで表示してくれているので、すっきりしていてかなり見やすいです。

詳しく見たいところは ▶ 部分をクリックして展開してあげると見ることができます。
以下は、header の情報を展開して cacheControl を確認したものです。



まだ、dd のもう一つの特徴は dd を実行した時点で処理が終わることです。
var_dump や print_r は実行後も処理が継続するため、別途 exit などを追加して
処理を止めてあげる必要があったりしたので、手間が少し省けることになります。
(こういった小さいことの積み重ねが大事だったりもします)


ddd

次の紹介したいのが dd の発展形でもある ddd です。
dd の発展形だから d が一つ増えたというあたりも覚えやすくてとても良いですね。

こちらも使い方は同じで

ddd($request)

中身を確認したい変数などを引数として渡すことで、デバッグが可能で、
dd と同様に、実行した時点で処理が止まります。
違いは何かというと、画面への表示のされ方です。



CSS等を使って見た目を調整してくれているので、かなり見やすいです。
(Dump, Die, Debugと表示されていますが、それぞれの頭文字を取って ddd なんでしょうかね?)

ddd の良さは見た目だけではありません。
Stack trace や Request といったメニュータブや、Dumps や Queries といったチェックボックスに注目してください。
これらをクリックしたり選択したりすることで、画面に表示する内容を変えることができるのです。



例えば、 Dumps に入っているチェックを外して Queries にチェックを入れると
その処理でどういったクエリーが実行されているかがわかるようになっています。



当然ですが、メニュータブを Debug から Stack trace に切り替えると、Stack Trace が確認できます。
他にも、メニュータブの Request を選択すると リクエストヘッダー を見やすい形で確認できたり、
User を選択すると、現在認証済みのユーザー情報を確認できたりして、とても便利です。

個人的にも、普段は dd を使うことが多いのですが、
こうやって記事を書いてみると ddd をもっと使った方がいいなと思いますね。

今回は dd と ddd を紹介しましたが、Laravelには他にもたくさんデバッグ手法がありますので、
機会があればまた紹介したいと思います。

では、また!

 

 

◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

マイナビ2023 説明会予約受付中!

チューリップ赤チューリップ紫是非チェックしてみてくださいねチューリップピンクチューリップオレンジ

(株)スタイラジーのインターンシップ・会社概要 | マイナビ2023(株)スタイラジーの会社概要ページです。マイナビ2023は、(株)スタイラジーのインターンシップ情報や企業情報で、自己分析や企業研究をサポートします。リンクjob.mynavi.jp

◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇