Often multiple filters should be applied to some value in a particular order. For example, a
login form accepts a username that should be only lowercase, alphabetic characters.
Zend_Filter
provides a simple method by which filters may be chained together. The
following code illustrates how to chain together two filters for the submitted username:
<?php // Provides filter chaining capability require_once 'Zend/Filter.php'; // Filters needed for the example require_once 'Zend/Filter/Alpha.php'; require_once 'Zend/Filter/StringToLower.php'; // Create a filter chain and add filters to the chain $filterChain = new Zend_Filter(); $filterChain->addFilter(new Zend_Filter_Alpha()) ->addFilter(new Zend_Filter_StringToLower()); // Filter the username $username = $filterChain->filter($_POST['username']);
Filters are run in the order they were added to Zend_Filter
. In the above example, the
username is first removed of any non-alphabetic characters, and then any uppercase characters are
converted to lowercase.
Any object that implements Zend_Filter_Interface
may be used in a filter chain.