<?php

/**
 * Debug Helper, der eine HTML Vardump Ausgabe erzeugt
 * 
 * @param  mixed   $obj   Variable für den var_dump
 * @param  boolean $title Optional. Titel über der <pre> Ausgabe
 *
 * @return void
 */
function d( $obj, $title = false ){
	echo "<div class=\"debug\">";
	if( $title ) {
		echo "<h3 class=\"debug__title\">" . $title . "</h3>";
	}
	echo "<pre class=\"debug__print\">";
	var_dump( $obj );
	echo "</pre>";
	echo "</div>";
};


/* Beispiel-Benutzung */

d( $meine_var );

/* Oder */

d( $ausgabe_mit_titel, "Titel der Ausgabe" );
Viel Zucker rund um eine var_dump() Funktion

Bessere & schnellere Debug-Ausgaben mit var_dump

Debug-Ausgaben gehören einfach dazu – Ohne geht der Entwicklungsprozess nicht. An irgendeinem Punkt ist es immer notwendig sich einmal die ein oder andere Variable ausgeben zu lassen. Hier nutze ich PHPs var_dump(), aber dann bekommt man bei komplexen Objekten oder Arrays oft einen 4-Zeiligen Misthaufen an Output.

Ich habe mir eine Hilfsfunktion geschrieben d(). Das ‚d‘ steht für Debug – ha. Die Funktion akzeptiert zwei Parameter/Argumente: Objekt & Titel. Das Objekt ist notwendig und ist die entsprechende Variable welche als Debug ausgegeben werden soll, z.B. d( $loop ). Mit ‚Titel‘ kann noch ein optionaler Titel über der Ausgabe erzeugt werden, falls man mehrere Debug Ausgaben machen möchte, z.B.:

  • d( $loop_1, „1. Loop“ );
  • d( $loop_2, „2. Loop“ );
  • d( $sidebar. „Sidebar Daten“ );

Die Funktion gibt eine kleine HTML Struktur zurück mit einem <DIV>-Wrapper einem optionalen <h>-Titel und einer <pre>-Dump Ausgabe. Alle Elemente haben eine eigene Klasse nach BEM-Notation, damit es auch möglich ist, die Debug-Ausgaben zu formatieren. Aber das ist alles Zucker. Ich benutze die Funktion hauptsächlich, weil ‚d‘ tippen schneller geht als jedesmal die <pre> und var_dump() Struktur zu schreiben.