<sect1 id="zend.filter.writing_filters">

    <title>Pisanie filtrów</title>

    <para>
        Zend_Filter zapewnia zestaw najczęściej potrzebnych filtrów, ale
        programiści często potrzebują napisać własne filtry dla ich szczególnych
        zastosowań. Zadanie pisania własnego filtru jest ułatwione przez
        implementację interfejsu <code>Zend_Filter_Interface</code>.
    </para>

    <para>
        <code>Zend_Filter_Interface</code> definiuje jedną metodę,
        <code>filter()</code>, która może być implementowana przez klasy
        użytkownika. Obiekt, który implementuje ten interfejs może być dodany
        do łańcucha filtrów za pomocą metody
        <code>Zend_Filter::addFilter()</code>.
    </para>

    <para>
        Poniższy przykład pokazuje w jaki sposób pisze się własny filtr:

        <programlisting role="php"><![CDATA[
class MyFilter implements Zend_Filter_Interface
{
    public function filter($value)
    {
        // przeprowadź jakieś transformacje zmiennej $value do $valueFiltered

        return $valueFiltered;
    }
}
]]>
        </programlisting>

    </para>

    <para>
        Aby dodać instancję powyższego filtra do łańcucha filtrów:

        <programlisting role="php"><![CDATA[
$filterChain = new Zend_Filter();
$filterChain->addFilter(new MyFilter());
]]>
        </programlisting>

    </para>

</sect1>