<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.debug.dumping">
    <title>Variablen ausgeben</title>

    <para>
        Die statische Methode <methodname>Zend_Debug::dump()</methodname> druckt oder gibt
        Informationen über einen Ausdruck zurück. Diese einfache Technik des Debuggens ist üblich,
        weil Sie in einer Ad-Hoc Weise einfach zu verwenden ist und keine Initialisierung, spezielle
        Tools oder eine Debuggingumgebung benötigt.
    </para>

    <example id="zend.debug.dumping.example">
        <title>Beispiel der dump() Methode</title>

        <programlisting language="php"><![CDATA[
Zend_Debug::dump($var, $label = null, $echo = true);
]]></programlisting>
    </example>

    <para>
        Das Argument <varname>$var</varname> definiert den Ausdruck oder die Variable,
        über welche die Methode <methodname>Zend_Debug::dump()</methodname> Informationen ausgeben
        soll.
    </para>

    <para>
        Das Argument <varname>$label</varname> ist eine Zeichenkette, die der Ausgabe von
        <methodname>Zend_Debug::dump()</methodname> vorgestellt wurd. Das kann beispielsweise
        hilfreich sein, um Überschriften zu erhalten, wenn Informationen über mehrere
        Variablen auf einen Bildschirm ausgegeben werden.
    </para>

    <para>
        Das boolsche Argument <varname>$echo</varname> definiert, ob die Ausgabe von
        <methodname>Zend_Debug::dump()</methodname> mit Echo ausgegeben wird oder nicht. Wenn der
        Wert <constant>TRUE</constant> ist, wird mit Echo ausgegeben, sonst nicht. Unabhängig vom
        Wert des <varname>$echo</varname> Arguments enthält der Rückgabewert dieser Methode die
        Ausgabe.
    </para>

    <para>
        Es könnte hilfreich sein, zu verstehen, dass die <methodname>Zend_Debug::dump()</methodname>
        Methode die <acronym>PHP</acronym> Funktion
        <ulink url="http://php.net/var_dump"><methodname>var_dump()</methodname></ulink>
        verwendet. Wenn der Ausgabestream als Webdarstellung erkannt wird, wird die
        Ausgabe von <methodname>var_dump()</methodname> mit Hilfe von <ulink
            url="http://php.net/htmlspecialchars"><methodname>htmlspecialchars()</methodname></ulink>
        ausgeführt und mit (X)HTML <command>&lt;pre&gt;</command> Tags umschlossen.
    </para>

    <tip>
        <title>Debuggen mit Zend_Log</title>

        <para>
            Die Verwendung von <methodname>Zend_Debug::dump()</methodname>eignet sich am besten für
            Ad-Hoc Debuggen während der Software Entwicklung. Es kann für die Ausgabe einer Variablen
            Code hinzugefügt werden und dieser auch wieder sehr schnell entfernt werden.
            wieder sehr schnell entfernt werden.
        </para>

        <para>
            Um permanenteren Debugging-Code zu schreiben, sollte die
            <link linkend="zend.log.overview">Zend_Log</link> Komponente verwendet
            werden. Zum Beispiel kann der <constant>DEBUG</constant> Loglevel mit dem
            <link linkend="zend.log.writers.stream">Stream Logger</link> verwendet werden, um die
            Zeichenkette auszugeben, die durch <methodname>Zend_Debug::dump()</methodname>
            zurückgegeben wird.
        </para>
    </tip>
</sect1>
