<sect1 id="zend.debug.dumping">

    <title>Stampa delle variabili</title>

    <para>
        Il metodo statico <code>Zend_Debug::dump()</code> stampa o restituisce le informazioni su una espressione.
        Questa semplice tecnica di debug è comune poiché facile da usare in modo appropriato e non richiede alcuna inizializzazione, strumenti speciali o un ambiente di debug.
    </para>


    <example id="zend.debug.dumping.example">
        <title>Esempio del metodo dump()</title>
        <programlisting role="php"><![CDATA[

Zend_Debug::dump($var, $label=null, $echo=true);
]]>
        </programlisting>
    </example>

    <para>
        Il parametro <code>$var</code> specifica l'espressione o la variabile di cui il metodo <code>Zend_Debug::dump()</code> stampa le informazioni.
    </para>

    <para>
        Il parametro <code>$label</code> è una stringa da inserire prima dell'output di <code>Zend_Debug::dump()</code>.
        Può essere utile, per esempio, per utilizzare delle etichette se si sta eseguendo il dump a schermo di informazioni su più variabili.
    </para>

    <para>
        Il parametro booleano <code>$echo</code> specifica se l'output di <code>Zend_Debug::dump()</code> è stampato o no.
        Se <code>true</code>, l'output è stampato.
        Indipendentemente dal valore del parametro <code>$echo</code>, questo metodo restituisce sempre il contenuto dell'output.
    </para>

    <para>
        Può essere utile sapere che, internamente, il metodo <code>Zend_Debug::dump()</code> racchiude la funzione PHP
        <ulink url="http://php.net/var_dump"><code>var_dump()</code></ulink>.
        Se il flusso dell'output è riconosciuto come destinato ad una presentazione web, l'output di <code>var_dump()</code> è codificato utilizzando
        <ulink url="http://php.net/htmlspecialchars"><code>htmlspecialchars()</code></ulink>
        ed incluso all'interno dei tag (X)HTML <code>&lt;pre&gt;</code>.
    </para>

    <tip>
        <title>Debug con Zend_Log</title>
        <para>
            L'utilizzo di <code>Zend_Debug::dump()</code> è conveniente per il debug specifico durante lo sviluppo del software.
            E' possibile inserire o rimuovere rapidamente il codice necessario per stampare una variabile.
        </para>
        <para>
            Anche l'uso del componente <link linkend="zend.log.overview">Zend_Log</link> è da tenere in considerazione quando si desidera scrivere un sistema di debug del codice più permanente.
            Per esempio, è possibile impostare il livello di log a <code>DEBUG</code> ed il flusso di scrittura su Stream per eseguire la stampa della stringa restituita da <code>Zend_Debug::dump()</code>.
        </para>
    </tip>

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