20.4. 编写过滤器

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

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

下面的例子,示范了怎样编写一个定制的过滤器:

class MyFilter implements Zend_Filter_Interface
{
    public function filter($value)
    {
        // perform some transformation upon $value to arrive on $valueFiltered

        return $valueFiltered;
    }
}

       

添加上述过滤器的实例到过滤器链中:

$filterChain = new Zend_Filter();
$filterChain->addFilter(new MyFilter());