Dumping
Jeder Debugger ist ein guter Freund der Funktion var_dump, die den Inhalt einer
Variablen detailliert ausgibt. Leider verliert die Ausgabe in einer HTML-Umgebung ihre Formatierung und verschmilzt zu einer
einzigen Zeile, ganz zu schweigen von der Bereinigung des HTML-Codes. In der Praxis ist es unerlässlich, var_dump
durch eine geschicktere Funktion zu ersetzen. Das ist genau dump()
.
$arr = [10, 20.2, true, null, 'hello'];
dump($arr);
// oder Debugger::dump($arr);
erzeugt die Ausgabe:

Das standardmäßige helle Thema können Sie in ein dunkles ändern:
Debugger::$dumpTheme = 'dark';

Weiterhin können wir die Verschachtelungstiefe mit Debugger::$maxDepth und die Länge der angezeigten Beschriftungen mit Debugger::$maxLength ändern. Niedrigere Werte beschleunigen den Debugger natürlich.
Debugger::$maxDepth = 2; // Standard: 3
Debugger::$maxLength = 50; // Standard: 150
Die Funktion dump()
kann auch weitere nützliche Informationen ausgeben. Die Konstante
Tracy\Dumper::LOCATION_SOURCE
fügt einen Tooltip mit dem Pfad zu der Stelle hinzu, an der die Funktion aufgerufen
wurde. Tracy\Dumper::LOCATION_LINK
stellt uns einen Link zu dieser Stelle zur Verfügung.
Tracy\Dumper::LOCATION_CLASS
gibt bei jedem gedumpten Objekt einen Tooltip mit dem Pfad zur Datei aus, in der seine
Klasse definiert ist. Die Konstanten werden der Variablen Debugger::$showLocation
zugewiesen, bevor
dump()
aufgerufen wird. Wenn wir mehrere Werte gleichzeitig setzen wollen, verbinden wir sie mit dem Operator
|
.
Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Stellt nur die Ausgabe über den Aufrufort der Funktion ein
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Stellt gleichzeitig die Ausgabe des Links und den Pfad zur Klasse ein
Debugger::$showLocation = false; // Schaltet die Ausgabe zusätzlicher Informationen aus
Debugger::$showLocation = true; // Schaltet die Ausgabe aller zusätzlichen Informationen ein
Eine praktische Alternative zu dump()
ist dumpe()
(dump & exit) und bdump()
.
Letzteres ermöglicht es uns, den Wert einer Variablen im Tracy Bar Panel auszugeben. Das ist sehr praktisch, da die Dumps vom
Seitenlayout getrennt sind und wir ihnen auch einen Kommentar hinzufügen können.
bdump([2, 4, 6, 8], 'gerade Zahlen bis zehn');
bdump([1, 3, 5, 7, 9], 'ungerade Zahlen bis zehn');
