Formatierte var_dump()-Ausgabe (Xdebug)

Heute mal ein kleiner Tipp an alle Entwickler, die gerne mit var_dump() Testausgaben (zum Debuggen) erzeugen und sich über die Formatierung ärgern.

Die Ausgabe dieses Codes

$array = array(
	'apfel' => new stdClass(),
	'banane' => 10.5,
	'birne' => 'keine',
	'orange' => null
);
var_dump($array);

würde bei einer normalen PHP-Installation so aussehen:

array(4) { ["apfel"]=>  object(stdClass)#1 (0) { } ["banane"]=>  float(10.5) ["birne"]=>  string(5) "keine" ["orange"]=>  NULL } 

Das ist natürlich nicht sonderlich schön und vor allem schlecht zu lesen. Selbst ein <pre> um die Ausgabe, macht das Lesen nicht einfacher.

Die Lösung: Die PHP-Extension Xdebug formatiert und „highlightet“ die var_dump()-Ausgaben automatisch. Es wird kein <pre> mehr benötigt und selbst riesige Arrays mit tiefer Verschachtelung können wieder mit var_dump() ausgegeben werden, denn ab einer bestimmten Ebene wir das Array einfach abgeschnitten.

Debugging Ausgaben sehen dann so aus:

array
  'apfel' => 
    object(stdClass)[1]
  'banane' => float 10.5
  'birne' => string 'keine' (length=5)
  'orange' => null

Das lässt sich doch gleich viel besser lesen, oder?

Ein Kommentar zu “Formatierte var_dump()-Ausgabe (Xdebug)

  1. Nein, lässt sich nicht – denn das Ding schlägt auch zu, wenn man den Content-Type auf text/plain gesetzt hat; und das Abschneiden in der Tiefe ist keine Tiefe, sondern eher flach. Für alle, denen das auch zu wenig ist, hier die Lösung:

    xdebug.var_display_max_depth = 10

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.