Главная / Zend Manual Core
Standard Filter Classes

Цепочки фильтров

Довольно часто встречается ситуация, когда к одним и тем же данным нужно применить несколько фильтров в определенном порядке. Например, форма аутентификации должна принимать имя пользователя, состояшее только из алфавитных символов в нижнем регистре. Zend_Filter предоставляет простой метод, через который составляется цепочка из фильтров. Следующий код демонстрирует создание цепочки из двух фильтров для имени пользователя:

  1. // Создание цепочки фильтров и добавление в нее фильтров
  2. $filterChain = new Zend_Filter();
  3. $filterChain->addFilter(new Zend_Filter_Alpha())
  4.             ->addFilter(new Zend_Filter_StringToLower());
  5.  
  6. // Фильтрация имени пользователя
  7. $username = $filterChain->filter($_POST['username']);
Фильтры применяются в том же порядке, в котором они были добавлены в Zend_Filter. В примере выше из имени пользователя сначала удаляются все неалфавитные символы, затем все символы приводятся к нижнему регистру.

Все объекты, реализующие интерфейс Zend_Filter_Interface, могут использоваться в цепочке фильтров.


Standard Filter Classes