ダンプ

すべてのデバッガは、変数の内容を詳細に出力する var_dump 関数の良き友達です。残念ながら、HTML環境では出力のフォーマットが失われ、一行に結合されてしまい、HTMLコードのサニタイズは言うまでもありません。実用的には、var_dump をより便利な関数に置き換えることが不可欠です。それが dump() です。

$arr = [10, 20.2, true, null, 'hello'];

dump($arr);
// または Debugger::dump($arr);

は次の出力を生成します:

デフォルトのライトテーマをダークテーマに変更できます:

Debugger::$dumpTheme = 'dark';

さらに、Debugger::$maxDepth を使用してネストの深さを、Debugger::$maxLength を使用して表示される文字列の長さを変更できます。より低い値は当然Tracyを高速化します。

Debugger::$maxDepth = 2; // デフォルト: 3
Debugger::$maxLength = 50; // デフォルト: 150

dump() 関数は他の有用な情報も出力できます。定数 Tracy\Dumper::LOCATION_SOURCE は、関数が呼び出された場所へのパスを含むツールチップを追加します。Tracy\Dumper::LOCATION_LINK はその場所へのリンクを提供します。Tracy\Dumper::LOCATION_CLASS は、ダンプされた各オブジェクトに対して、そのクラスが定義されているファイルへのパスを含むツールチップを表示します。定数は、dump() を呼び出す前に変数 Debugger::$showLocation に設定されます。複数の値を一度に設定したい場合は、| 演算子を使用して結合します。

Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // 関数呼び出し場所の出力のみを設定
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // リンクの出力とクラスへのパスを同時に設定
Debugger::$showLocation = false; // 追加情報の出力を無効にする
Debugger::$showLocation = true; // すべての追加情報の出力を有効にする

dump() の実用的な代替は dumpe() (dump & exit) と bdump() です。これにより、変数の値をTracy Barのパネルに出力できます。これは非常に便利です。なぜなら、ダンプはページのレイアウトから分離されており、コメントを追加することもできるからです。

bdump([2, 4, 6, 8], '10までの偶数');
bdump([1, 3, 5, 7, 9], '10までの奇数');