11.2. Łańcuchy filtrów
Poprzedni | Rozdział 11. Zend_Filter | Następny

## 11.2. Łańcuchy filtrów

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:

    <?php
    // Zapewnia możliwość łańcuchowego wywoływania filtrów
    require_once 'Zend/Filter.php';

    // Filtry użyte w przykładzie
    require_once 'Zend/Filter/Alpha.php';
    require_once 'Zend/Filter/StringToLower.php';

    // 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`.

Poprzedni | Początek rozdziału | Następny
Rozdział 11. Zend_Filter | Spis treści | 11.3. Pisanie filtrów