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

    <title>编写过滤器</title>

    <para>
        Zend_Filter提供了一系列常用的过滤器，但是开发者经常需要为他们特殊的用例编写定制的过滤器。编写定制的过滤器很容易，只要实现<code>Zend_Filter_Interface</code>接口。
    </para>

    <para>
        <code>Zend_Filter_Interface</code>接口定义了一个方法<code>filter()</code>，可被用户的类实现。使用<code>Zend_Filter::addFilter()</code>方法，可以把一个实现了这个接口的对象添加到过滤器链中。
    </para>

    <para>
        下面的例子，示范了怎样编写一个定制的过滤器：

        <programlisting role="php"><![CDATA[
class MyFilter implements Zend_Filter_Interface
{
    public function filter($value)
    {
        // perform some transformation upon $value to arrive on $valueFiltered

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

    </para>

    <para>
        添加上述过滤器的实例到过滤器链中：

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

    </para>

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