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

    <title>Variablen ausgeben</title>

    <para>
        Die statische Methode <classname>Zend_Debug::dump()</classname> 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 Sie benötigt keine Initialisierung, spezielle Tools oder eine
        Debuggingumgebung.
    </para>

    <example id="zend.debug.dumping.example">
        <title>Beispiel der dump() Methode</title>
        <programlisting role="php"><![CDATA[
Zend_Debug::dump($var, $label=null, $echo=true);
]]></programlisting>
    </example>

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

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

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

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

    <tip>
        <title>Debuggen mit Zend_Log</title>
        <para>
            Die Verwendung von <classname>Zend_Debug::dump()</classname> ist am Besten für
            Ad-Hoc Debuggen wärend der Software Entwicklung. Es kann Code
            hinzugefügt werden um eine Variable auszugeben und der Code kann auch
            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 <code>DEBUG</code> Loglevel mit dem
            Stream Logger verwendet werden um die Zeichenkette auszugeben die durch
            <classname>Zend_Debug::dump()</classname> zurückgegeben wird.
        </para>
    </tip>

</sect1>
<!--
vim:se ts=4 sw=4 et:
-->
