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

    <title>Ladění proměnných</title>

    <para>
        Statická metoda <code>Zend_Debug::dump()</code> vypisuje nebo vrací informaci
        o určitém výrazu. Tento způsob ladění kódu se používá běžně, protože není
        třeba používat žádné speciální nástroje nebo prostředí pro ladění.
    </para>

    <example id="zend.debug.dumping.example">
        <title>Příklad použití metody dump()</title>
        <programlisting role="php"><![CDATA[<?php

Zend_Debug::dump($var, $label=null, $echo=true)

?>]]></programlisting>
    </example>


    <para>
        Parametr <code>$var</code> přijímá výraz nebo proměnnou, jejíž
        obsah bude vypsán metodou <code>Zend_Debug::dump()</code>.
    </para>

    <para>
        Parametr <code>$label</code> obsahuje řetězec, který bude rovněž vypsán metodou
        <code>Zend_Debug::dump()</code>.  Může být velmi užitečný v případě, kdy
        jsou vypisovány informace o více proměnných najednou.
    </para>

    <para>
        Parametr <code>$echo</code> obsahuje boolean hodnotu (true/false)
        a určuje, zda má být výstup metody <code>Zend_Debug::dump()</code> vypsán.
        Jestliže je hodnota <code>true</code> (defaultně), obsah je vypsán.
        Bez ohledu na hodnotu parametru <code>$echo</code>, vždy je vrácen nějaký
        obsah.
    </para>

    <para>
        Může být užitečné vědět, že metoda
        <code>Zend_Debug::dump()</code> interně používá funkci
        <ulink url="http://php.net/var_dump"><code>var_dump()</code></ulink>.
        Metoda navíc zjišťuje, zda bude výstup vypsán ve webové prezentaci.
        Pokud ano, pak je výstup metody <code>var_dump()</code> escapován funkcí
        <ulink url="http://php.net/htmlspecialchars"><code>htmlspecialchars()</code></ulink>
        a obalen elementy (X)HTML <code>&lt;pre&gt;</code>.
    </para>

    <tip>
        <title>Ladění pomocí Zend_Log</title>
        <para>
            Používání metody <code>Zend_Debug::dump()</code> je velmi dobré pro
            jednoduché ladění během vývoje. Jednoduše můžete přidat kód, který
            vypíše hodnotu proměnné a pak jej zase rychle odstranit.
        </para>
        <para>
            Je možné také používat knihovnu <link linkend="zend.log.overview">Zend_Log</link>
            pro dlouhodobé ladění kódu.
            Např. můžete používat <code>DEBUG</code> log level a výsledek metody
            <code>Zend_Debug::dump()</code> zapisovat do logu.
        </para>

    </tip>

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