
Laravelでのデバッグ方法について、4パターン紹介していきます!
Laravelでのデバッグ方法を4パターン紹介
ヘルパ関数
まずは、Laravelのヘルパ関数を使うパターンから。
dump
dumpヘルパ関数は、指定した変数をダンプしてくれます。変数をダンプした後に実行を停止したい場合は ddやdddを使うと良いです。
$array = [
'foo' => 'bar',
'bar' => 'foo',
];
dump($array);
array:2 [▼
"foo" => "bar"
"bar" => "foo"
]
dd
ddヘルパ関数は、指定した変数の内容を表示して、スクリプトの実行を停止します。
$array = [
'foo' => 'bar',
'bar' => 'foo',
];
dd($array);
array:2 [▼
"foo" => "bar"
"bar" => "foo"
]
ddd
dddヘルパ関数は、Laravel6.xから統合されたfacade/ignitionのヘルパー関数です(ddはLaravel本体のヘルパ関数)
参考:Laravel Ignition Introduces the ddd() Helper
$array = [
'foo' => 'bar',
'bar' => 'foo',
];
ddd($array);

dddヘルパ関数を使った場合は、上記のような画面で確認することができ、「Debug」以外にも「Stack trace・Request・App・User・Context」の内容を確認することができます。
また、右端の「Share」からエラー情報をURL発行して共有することもできます。

Tinker
TinkerはLaravelに標準搭載されている対話型シェルです。実行結果をささっと確認したい場合などに使っています。
$ php artisan tinker
Psy Shell v0.11.1 (PHP 7.3.1 — cli) by Justin Hileman
>>> $array = ['foo' => 'bar', 'bar' => 'foo'];
=> [
"foo" => "bar",
"bar" => "foo",
]
Debugbar
Laravelのデバッグツールとして有名なDebugbar。barryvdh/laravel-debugbarパッケージを使用します。
インストール方法に関しては、下記を参考にしてください。
参考:barryvdh/laravel-debugbar#installation
インストールして画面を表示すると、画面下にデバッグバーが表示されます。

デバッグバーでは、クエリログやレンダリングされたビューの一覧、セッション情報などを確認することができます。
Log
最後にログに変数の内容を出力する方法について。
Logファサード
Logファサードを使う場合。
use Illuminate\Support\Facades\Log;
(省略)
$array = [
'foo' => 'bar',
'bar' => 'foo',
];
Log::debug($array);
storage/logs/laravel.log
[2022-02-12 23:00:00] local.DEBUG: array (
'foo' => 'bar',
'bar' => 'foo',
)
loggerヘルパ関数
loggerヘルパ関数は、debugレベルのメッセージをログへ書き出します
$array = [
'foo' => 'bar',
'bar' => 'foo',
];
logger($array);
[2022-02-12 23:00:00] local.DEBUG: array (
'foo' => 'bar',
'bar' => 'foo',
)
まとめ|Laravelでのデバッグ方法を4パターン紹介
ここまで、Laravelでのデバッグ方法を4パターン紹介してきました。
- ヘルパ関数
- dump
- dd
- ddd
- Tinker
- Debugbar
- Log
- Log ファサード
- logger ヘルパ関数

個人的には、慣れ親しんでいるということもあり、昔から存在していたヘルパ関数の「dd」を使うことが多いです。
コメント