Często do pewnej wartości potrzebujemy zastosować wiele filtrów w
określonej kolejności. Przykładem może być formularz logowania
akceptujący jedynie małe znaki alfabetu. Zend_Filter
zapewnia prostą metodę dzięki której filtry mogą być wywoływane
łańcuchowo. Poniższy kod ilustruje łańcuchowe wywołanie dwóch filtrów
dla wysłanej nazwy użytkownika:
// Tworzymy łańcuch filtrów i dodajemy filtry do łańcucha $filterChain = new Zend_Filter(); $filterChain->addFilter(new Zend_Filter_Alpha()) ->addFilter(new Zend_Filter_StringToLower()); // Filtrujemy nazwę użytkownika $username = $filterChain->filter($_POST['username']);
Filtry są uruchamiane w takiej kolejności, w jakiej zostają dodane do
Zend_Filter
. W powyższym przykładzie z nazwy użytkownika
wpierw są usuwane wszystkie niealfabetyczne znaki, a następnie wszystkie
wielkie litery są zamieniane na małe.
W łańcuchu filtrów może być użyty dowolny obiekt, który implementuje
interfejs Zend_Filter_Interface
.