Laravelでのデバッグ方法を4パターン紹介

Laravel でのデバッグ方法を4パターン紹介 Laravel
記事内に広告が含まれています。

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」を使うことが多いです。

Laravel関連のおすすめ本・Udemy講座

コメント

タイトルとURLをコピーしました