www.PHP-Kurs.com

PHP lernen für Einsteiger
und Fortgeschrittene

PHP-Tutorial mit Videos

Sie befinden sich: Startseite » Tipps und Tricks » Debuggen mit Zeilenausgabe

Debuggen mit Zeilenausgabe

Oft erfolgt im Stadium des Entwickelns eine Kontrollausgabe von Variablen-Inhalten mit echo und der entsprechenden Variablen. Dass dies nicht unbedingt der beste Stil ist, bleibt hier dahingestellt.

Als kleine Debugging-Hilfe hier eine Funktion, die zusätzlich die Zeilennummer und den Dateinamen ausgibt. Dies geschieht über __LINE__ und __FILE__

Der Aufruf der Funktion geschieht über den Funktionsnamen decho (hier d für debug und echo = decho - als Übergabe wird der Variablenname erwartet, nicht die Variable. Daher im Beispiel für die Variable $name dann decho ("name", __LINE__, __FILE__ );. Es kann genauso der Inhalt von Arrays ausgegeben werden.

$name = "www.php-kurs.com";

decho ("name", __LINE__, __FILE__ );

function decho ( $variable, $zeilennummer = "", $dateiname = "" )
{
    global $$variable;
    echo '<blockquote style="border:1px dotted red; 
                  border-left:10px solid red; padding-left:1em;">';
    echo "Kontrollausgabe: ";
    echo "<pre>";
    if ( $$variable != "" )
    {
        echo '$'. $variable  .' = ';
        print_r ( $$variable );
    }
    else
    {
        print_r ( $variable );
    }
    echo "</pre>";
    if ( $zeilennummer OR $dateiname )
    {
        echo "<br> (Zeile: $zeilennummer - $dateiname)";
    }
    echo "</blockquote>";
}

Zur Erklärung: Der Aufruf erfolgt über decho ("name", __LINE__, __FILE__ ); - dabei wird nicht die Variable übergeben, sondern nur der Name der Variable und innerhalb der Funktion über global $$variable verfügbar gemacht. Das doppelte $-Zeichen ist korrekt :)

Wird der Funktion nicht der Variablenname übergeben, sondern die Variable, wird auch der Inhalt ausgegeben, allerdings ohne Namen der Variable.

Eleganter ist es, diese Funktion auszulagern und per include_once dann einzubinden.

Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).

Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button:



(kann angegeben werden)

Nach Absenden kommt hier Feedback! Bitte nicht doppelt absenden. Danke.

Bitte unterstützen Sie dieses Projekt

Sie können dieses Projekt in verschiedenen Formen unterstützen - wir würden uns freuen und es würde uns für weitere Inhalte motivieren :).

unsere Videos bestellen

Unsere Videos und eBooks bestellen.

Spenden

Sie können uns eine Spende über PayPal zukommen lassen.

Weiterempfehlungen

Empfehlen Sie es weiter - wir freuen uns immer über Links und Facebook-Empfehlungen.

Bücher über Amazon

Bestellen Sie Bücher über folgende Links bei Amazon:

Fehler melden

Vielen Dank für Ihre Hilfe