🍅

【Laravel】デバッグのdd()にファイル名と行数を表示する方法

2023/06/06に公開

はじめに

  • Laravelのデバッグでdd()はたくさんお世話になるかと思うのですが、たまに多用しているとどこのdd()が動いているのかわからなくなってしまうことがありました(特にvendor内の挙動とかを確認してるときに変更履歴が残らないため)ので、今回その対処法を公開。

実現したいこと

  • dd()でデバッグしたときに、どのファイルのどこで使われているのか(止まっているのか)表示する。

前提(準備)

  • Laravel 9.32以前の環境

使い方

  • 第一引数に、確認したい変数などを入れて、第2引数にPHPのビルトインマジック定数を使用してファイル名と行数を出力する。
    • 自分はよく使うので、スニペットとして登録してます
dd($data, __FILE__ . ':' . __LINE__);
  • なお、上記の方法で表示されるファイル名は絶対パスとなるため、
    プロジェクトのルートディレクトリからの相対パスを表示したい場合は、以下のようにstr_replace()関数を用いることで相対パスで表示できます
dd($data, str_replace(base_path() . '/', '', __FILE__) . ':' . __LINE__);

デモ

image.png

終わりに

こんな感じのプチ便利なVSCode拡張とか暇があれば今後作ろうかと思います!

Discussion