【小技】PHPの一括var_dumpデバッグテクニック

2020年3月10日PHPPHP, テクニック, デバッグ

phpのデバッグはなんだかんだでvar_dumpを使った古典的手法を用いることが多いです。例えばデバッグ初期にどこまで処理が通っているのか調べるのにたくさんのvar_dumpを打ち込むことがあると思います。

<?php
// どこで処理が失敗したのか分からないので、var_dumpをたくさん書く。
// 例えば画面に1,2が表示されたら、fuga3.phpにエラーの原因がある
require_once 'fuga1.php';
var_dump(1);
require_once 'fuga2.php';
var_dump(2);
require_once 'fuga3.php';
var_dump(3);
require_once 'fuga4.php';
var_dump(4);
require_once 'fuga5.php';
var_dump(5);
exit;

このときvar_dumpが吐き出す値を位置ごとに変えようとすると、単純にコピペでvar_dumpのチェックポイントを作成できないため、以下2ステップになってしまう。

  • var_dump(1);をそれぞれの個所にコピペする。
  • 各場所ごとの値を変える(例えば連番にする等)

そういうときは下記のようするとvar_dump(__LINE__);をコピペするだけで簡単にvar_dumpのチェックポイントを作成できます。

<?php
// どこで処理が失敗したのか分からないので、var_dumpをたくさん書く。
// __LINE__は行番号なので、同じ値をvar_dumpしても、吐き出す値は変わります。
require_once 'fuga1.php';
var_dump(__LINE__); //5
require_once 'fuga2.php';
var_dump(__LINE__); //7
require_once 'fuga3.php';
var_dump(__LINE__); //9
require_once 'fuga4.php';
var_dump(__LINE__); //11
require_once 'fuga5.php';
var_dump(__LINE__); //13
exit;

地味ですけど、使いやすいのでおすすめです。

サイト運営者 えぬたけ


都内で働くゆるふわフルスタックwebエンジニア。