はじめに
LaravelやPHPでコードを書いていると、変数の中身を確認したい場面が頻繁にあります。
そんなときに便利なのが var_dump()
/ dd()
/ dump()
ですが、それぞれ少しずつ挙動が違います。
この記事では、この3つの違いや使い分け方を自分の備忘録としてまとめておきます。
① var_dump()
(PHP標準のデバッグ関数)
$test = ['name' => 'Taro', 'age' => 25];
var_dump($test);
特徴:
- PHPにもともと備わっている関数(Laravelに限らず使える)
- 型・長さ・値まで詳しく出力される
- HTMLの画面にそのまま出力されるため、見た目はちょっと地味
- 配列・オブジェクトの中身確認に便利
出力例:
array(2) {
["name"]=>
string(4) "Taro"
["age"]=>
int(25)
}
②dd()
(Laravel専用、Dump & Die)
dd($test);
特徴:
- Laravelが提供しているデバッグ用関数
- dd = Dump and Die(ダンプして終了)
- 変数の中身を表示した後、処理を強制的に終了する
- Web画面でも見やすく整形される(HTMLベース)
よくある使い方
- コントローラーやルーティングで、処理の途中でデータを確認したいとき
- Laravelならとりあえず dd() すればOK、というくらい定番
③dump()
(Laravel / Symfony の関数)
dump($test);
特徴:
- Laravelでも使える、dd() の「処理を止めないバージョン」
- 変数の中身を表示するが、その後も処理が続行される
- dd() のように止めたくないときに使う
- ビューファイル内でも便利
使い分け例:
dump($user); // 処理は続く
dd($user); // 処理はここで終了
④実務での使い分けまとめ
⑤おすすめの使い分けパターン
⑥補足: 複数引数もOK
dd($user, $posts, $comments);
複数の変数を一度に確認したいときも便利です。
⑦まとめ
-
var_dump()
はPHP標準、最低限の出力だけどどこでも使える -
dd()
はLaravel開発で最もよく使う、即終了&見やすい -
dump()
は途中経過を確認したいときに便利な柔らかい版