<!-- EN-Revision: 11089 -->
<sect1 id="zend.filter.writing_filters">
    <title>Écriture de filtres</title>

    <para><classname>Zend_Filter</classname> fournit un ensemble de filtres usuels. Cependant, les développeurs auront souvent
    besoin d'écrire des filtres personnalisés pour leurs besoins propres. L'écriture de filtre personnalisés est rendue
    plus facile via l'implémentation de <classname>Zend_Filter_Interface</classname>.</para>

    <para><classname>Zend_Filter_Interface</classname> définit une méthode unique, <code>filter()</code>, qui peut être
    implémentée dans les classes créées. Un objet qui implémente cette interface peut être ajouté à une chaîne de
    filtrage via <classname>Zend_Filter::addFilter()</classname>.</para>

    <para>L'exemple suivant démontre comment écrire un filtre personnalisé : <programlisting role="php"><![CDATA[
class MonFiltre implements Zend_Filter_Interface
{
    public function filter($valeur)
    {
        // application de transformations sur $valeur
        // pour parvenir à $valeurFiltree

        return $valeurFiltree;
    }
}
]]></programlisting></para>

    <para>Pour ajouter une instance du filtre défini ci-dessus à une chaîne de filtrage : <programlisting
    role="php"><![CDATA[
$filtreChaine = new Zend_Filter();
$filtreChaine->addFilter(new MonFiltre());
]]></programlisting></para>
</sect1>