Die Ausgabe von var_dump formatieren

Anscheinend besteht bei meinen Lesern ein erhöhtes Interesse bei diesem Thema, denn immer wieder gelangen Besucher über die entsprechenden Keywords auf unseren Blog. Damit eurer Bemühen nun auch von Erfolg gekrönt ist, möchte ich euch kurz meine Methode zur Formatierung der var_dump() Ausgabe aufzeigen.

/**
  * Wrapper für PHP var_dump()
  */
function debugVar($var, $exit = false) {
    echo "*** DEBUGGING VAR ***< pre >";

    if (is_array($var) || is_object($var)) {
        echo htmlentities(print_r($var, true));
    } elseif (is_string($var)) {
        echo "string(" . strlen($var) . ") \"" . htmlentities($var) . "\"\n";
    } else {
    	var_dump($var);
    }

    echo "\n";

    if ($exit) {
        exit;
    }
}

Ich denke zu der Funktion selber brauche ich nicht viel zu sagen, denn die sollte sich eigentlich jeder selber erklären können. Bitte beachtet jedoch, dass ich den < pre > Tag aufgrund der Code Formatierung hier im Blog mit entsprechenden Leerzeichen ausrüsten musste. Das müßt Ihr bei der Nutzung in euren Scripts natürlich noch korrigieren.

Wenn eure Projekte jedoch auf dem Zend Framework basieren, dann braucht Ihr keine gesonderte Funktion zur Formatierung der var_dump() Ausgabe mehr definieren, denn hier könnt Ihr eigentlich ganz bequem auf die Methode Zend_Debug::dump() zurückgreifen.

3 comments for “Die Ausgabe von var_dump formatieren

  1. 23. September 2009 at 09:37

    Vielen Dank für die Erklärungen! Die sind mir sehr nützlich!

  2. 6. Oktober 2009 at 21:54

    Ich persönlich hasse es wenn man eine ganz bestimmte
    sache durch if abfragen und anderen rotz undurchsichtig macht!!!

    Hey wie wärs den damit:

    echo ‚

    ';
    var_dump( $Irgendwas );
    echo '

    ‚;

    Das ergebniss ist das selbe! Nur das jeder idiot nachvollziehen kann!

    lg pahe

  3. 30. November 2010 at 19:39

    Vielen Dank für die kleine Funktion!

Schreibe einen Kommentar

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