13.3. 编写过滤器

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

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

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


<?php
require_once 'Zend/Filter/Interface.php';

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

        
return $valueFiltered;
    }
}

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


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