<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 15617 -->
<!-- Reviewed: no -->
<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é&#160;:
        <programlisting language="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&#160;:
        <programlisting language="php"><![CDATA[
$filtreChaine = new Zend_Filter();
$filtreChaine->addFilter(new MonFiltre());
]]></programlisting>
    </para>
</sect1>