Глава 9. Zend_Filter

Содержание

9.1. Zend_Filter
9.1.1. Введение
9.1.2. Примеры использования
9.2. Zend_Filter_Input
9.2.1. Введение
9.2.2. Фильтрация по "белому списку"
9.2.3. "Слепая" фильтрация
9.2.4. Фильтрация по "черному списку"
9.2.5. Теория по использованию
9.2.6. Примеры использования

9.1. Zend_Filter

9.1.1. Введение

Zend_Filter предоставляет библиотеку статических методов для фильтрации данных. Для фильтрации входных данных нужно использовать Раздел 9.2, «Zend_Filter_Input», потому что он предоставляет базовую структуру для фильтрации входных данных, используя методы из класса Zend_Filter. Но поскольку Zend_Filter_Input предназначен главным образом для работы с массивами, Zend_Filter может быть полезен для фильтрации скалярных переменных, так как он ведет себя наподобие строковых функций PHP:

    <?php
    
    $alphaUsername = Zend_Filter::getAlpha('John123Doe');
    
    /* $alphaUsername = 'JohnDoe'; */
    
    ?>
        

9.1.2. Примеры использования

В каждом из этих примеров $value представляет собой произвольное скалярное значение:

Фильтрация по "белому списку" (whitelist):

    <?php
    
    if (Zend_Filter::isEmail($value)) {
        /* $value является валидным адресом электронной почты */
    } else {
        /* $value не является валидным адресом */
    }
    
    ?>
        

Слепая (blind) фильтрация:

    <?php
    
    $alphaName = Zend_Filter::getAlpha($value);
    
    ?>
        

Фильтрация по "черному списку" (blacklist):

    <?php
    
    $taglessComment = Zend_Filter::noTags($value);
    
    ?>