Цепочки фильтров
Довольно часто встречается ситуация, когда к одним и тем же данным нужно
применить несколько фильтров в определенном порядке.
Например, форма аутентификации должна принимать имя пользователя,
состояшее только из алфавитных символов в нижнем регистре.
Zend_Filter предоставляет простой метод, через который
составляется цепочка из фильтров. Следующий код демонстрирует
создание цепочки из двух фильтров для имени пользователя:
// Создание цепочки фильтров и добавление в нее фильтров
$filterChain = new Zend_Filter();
$filterChain->addFilter(new Zend_Filter_Alpha())
->addFilter(new Zend_Filter_StringToLower());
// Фильтрация имени пользователя
$username = $filterChain->filter($_POST['username']);
Фильтры применяются в том же порядке, в котором они были добавлены в
Zend_Filter. В примере выше из имени пользователя
сначала удаляются все неалфавитные символы, затем все символы
приводятся к нижнему регистру.
Все объекты, реализующие интерфейс Zend_Filter_Interface,
могут использоваться в цепочке фильтров.