Souvent, de multiples filtres doivent être appliqués à une valeur dans un ordre particulier.
Par exemple, un formulaire d'authentification accepte un identifiant qui doit être en minuscule
et composé uniquement de caractères alphabétiques. Zend_Filter
fournit un moyen
simple permettant de chainer des filtres. Le code suivant illustre comment chainer deux filtres
pour l'identifiant soumis :
<?php // Ajout des fonctionnalités de chainage de filtres require_once 'Zend/Filter.php'; // Filtres nécessaires à l'exemple require_once 'Zend/Filter/Alpha.php'; require_once 'Zend/Filter/StringToLower.php'; // Création d'une chaine de filtrage et ajout de filtres à celle-ci $filtreChaine = new Zend_Filter(); $filtreChaine->addFilter(new Zend_Filter_Alpha()) ->addFilter(new Zend_Filter_StringToLower()); // Filtrage de l'identifiant $identifiant = $filtreChaine->filter($_POST['identifiant']);
Les filtres sont exécutés dans leur ordre d'ajout à Zend_Filter
. Dans l'exemple ci-dessus,
l'identifiant se voit d'abord retirer tout caractère non-alphabétique, les caractère majuscules éventuels
sont ensuite convertis en minuscules.
Tout objet implémentant Zend_Filter_Interface
peut être utilisé comme chaîne de filtrage.