<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<sect3 id="zend.view.helpers.initial.doctype">
    <title>Помощник Doctype</title>

    <para>
        Валидные HTML- и XHTML-документы должны включать в себя декларацию
        <code>DOCTYPE</code>. Написание этих деклараций сложно для
        запоминания, кроме того, от выбранного типа документа зависит то, как
        должны выводиться элементы в вашем документе (например, экранирование
        через CDATA в элементах <code>&lt;script&gt;</code> и
        <code>&lt;style&gt;</code>).
    </para>

    <para>
        Помощник <code>Doctype</code> позволяет указать один из следующих
        типов:
    </para>

    <itemizedlist>
        <listitem><para><code>XHTML11</code></para></listitem>
        <listitem><para><code>XHTML1_STRICT</code></para></listitem>
        <listitem><para><code>XHTML1_TRANSITIONAL</code></para></listitem>
        <listitem><para><code>XHTML1_FRAMESET</code></para></listitem>
        <listitem><para><code>XHTML_BASIC1</code></para></listitem>
        <listitem><para><code>HTML4_STRICT</code></para></listitem>
        <listitem><para><code>HTML4_LOOSE</code></para></listitem>
        <listitem><para><code>HTML4_FRAMESET</code></para></listitem>
        <listitem><para><code>HTML5</code></para></listitem>
    </itemizedlist>

    <para>
        Вы можете также определить любой другой тип, если он является
        синтаксически корректным.
    </para>

    <para>
        Помощник <code>Doctype</code> является частной реализацией 
        <link linkend="zend.view.helpers.initial.placeholder">помощника
            Placeholder</link>.
    </para>

    <example id="zend.view.helpers.initial.doctype.basicusage">
        <title>Использование помощника Doctype</title>

        <para>
            Вы можете указать декларацию DOCTYPE в любой момент времени. Но
            помощники, использующие эту декларацию при формированиии вывода,
            увидят ее только после того, как она была определена.
            Поэтому лучше всего указывать ее в вашем файле загрузки:
        </para>

        <programlisting language="php"><![CDATA[
$doctypeHelper = new Zend_View_Helper_Doctype();
$doctypeHelper->doctype('XHTML1_STRICT');
]]></programlisting>

        <para>
            И затем выводить ее в самом начале вашего скрипта вида:
        </para>

        <programlisting language="php"><![CDATA[
<?php echo $this->doctype() ?>
]]></programlisting>

    </example>

    <example id="zend.view.helpers.initial.doctype.retrieving">
        <title>Извлечение DOCTYPE</title>

        <para>
            Если нужно узнать тип документа, то вы можете сделать
            это путем вызова метода <code>getDoctype()</code> объекта,
            возвращаемого при вызове помощника.
        </para>

        <programlisting language="php"><![CDATA[
$doctype = $view->doctype()->getDoctype();
]]></programlisting>

        <para>
            Часто требуется только узнать, соответствует ли декларация языку
            XHTML или нет. В этом случае метода <code>isXhtml()</code> будет
            достаточно:
        </para>

        <programlisting language="php"><![CDATA[
if ($view->doctype()->isXhtml()) {
    // сделать что-то
}
]]></programlisting>
    </example>
</sect3>
<!--
vim:se ts=4 sw=4 et:
-->
