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

    <title>Дамп переменных</title>

    <para>
        Статический метод <code>Zend_Debug::dump()</code> выводит или возвращает
        информацию о выражении. Это простая техника отладки довольно
        распространена, поскольку ее легко использовать применительно
        к случаю, и она не требует какой-либо предварительной инициализации,
        специальных инструментов или отладочной среды.
    </para>

    <example id="zend.debug.dumping.example">
        <title>Пример использования метода dump()</title>
        <programlisting language="php"><![CDATA[
Zend_Debug::dump($var, $label=null, $echo=true);
]]></programlisting>
    </example>

    <para>
        Аргумент <varname>$var</varname> соответствует выражению или переменной,
        информацию о которой должен вывести метод
        <code>Zend_Debug::dump()</code>.
    </para>

    <para>
        Аргумент <varname>$label</varname> (заголовок) является строкой, которая
        должна предшествовать выводу метода <code>Zend_Debug::dump()</code>.
        Использование заголовков может быть полезным в некоторых случаях -
        например, при выводе информации о нескольких переменных на одном экране.
    </para>

    <para>
        Булев аргумент <varname>$echo</varname> определяет, должен ли быть отображен
        вывод метода <code>Zend_Debug::dump()</code> или нет. Если
        он равен <constant>TRUE</constant>, то вывод будет отображен. Независимо от
        значения этого аргумента, возвращаемое методом значение будет содержать
        его вывод.
    </para>

    <para>
        Может быть небесполезным знать, что метод
        <code>Zend_Debug::dump()</code> является оберткой ко встроенной функции
        PHP
        <ulink url="http://php.net/var_dump"><code>var_dump()</code></ulink>.
        Если поток вывода определен как веб-представление, то вывод
        <code>var_dump()</code> будет экранирован с помощью функции
        <ulink url="http://php.net/htmlspecialchars"><code>htmlspecialchars()</code></ulink>
        и окружен (X)HTML тегами <code>&lt;pre&gt;</code>.
    </para>

    <tip>
        <title>Отладка с применением Zend_Log</title>
        <para>
            <code>Zend_Debug::dump()</code> хорошо применять для отладки
            во время разработки приложения. Вы можете быстро
            добавлять код для дампа переменной и удалять его.
        </para>
        <para>
            Также рассмотрите возможность использования компоненты
            <link linkend="zend.log.overview">Zend_Log</link> при написании
            более долговременного отладочного кода. Например, вы можете
            использовать уровень журналирования <code>DEBUG</code> и
            регистратор Zend_Log_Writer_Stream для вывода строки, возвращенной
            <code>Zend_Debug::dump()</code>.
        </para>
    </tip>

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