A free and open-source book on ZF3 for beginners


8.2. Обзор стандартных фильтров

Стандартные фильтры, реализующие интерфейс FilterInterface, принадлежат компоненту Zend\Filter 26. Диаграмма наследования классов фильтров показана на рисунке 8.1. Как видите из рисунка, базовый класс для большинства стандартных фильтров - класс AbstractFilter, реализующий интерфейс FilterInterface 27

Figure 8.1. Наследование классов фильтров Figure 8.1. Наследование классов фильтров

26) В этом разделе мы считаем стандартными только те фильтры, которые принадлежат пространству имен Zend\Filter, однако существуют и другие фильтры, которые можно считать стандартными. Например, пространство имен Zend\Filter\File содержит несколько фильтров, применимых для обработки загрузок файлов (эти фильтры будут рассмотрены в следующих разделах). Кроме этого, компонент Zend\I18n определяет несколько классов фильтров, которые осведомлены о локали (региональных настройках) пользователя).

27) Из рисунка выше также можно заметить, что существует еще несколько базовых фильтров: AbstractUnicode - базовый класс для фильтров StringToUpper и StringToLower, так как он предоставляет общий для обоих набор функций для преобразования строк. Фильтр Decompress наследуется от фильтра Compress, так как эти фильтры, на самом деле, очень похожи. Аналогично, фильтр Decrypt наследуется от фильтра Encrypt, потому что они тоже являются зеркальными отражениями друг друга.

Вы могли заметить странный фильтр StaticFilter, который не наследуется от базового класса AbstractFilter. Это потому, что класс StaticFilter на самом деле являются "оберткой" (то есть, "заместителем" (proxy) для другого фильтра без явного инстанцирования второго).

Стандартные фильтры, предоставляемые компонентом Zend\Filter, вместе с их кратким описанием перечислены в таблице 8.1.

Как видите из этой таблицы, стандартные фильтры можно приблизительно разделить на следующие группы:

Таблица 8.1. Стандартные фильтры
Имя класса Описание
Boolean Возвращает булевое представление $value.
ToInt Приводит входные данные $value к типу int.
Digits Возвращает строку $value, удаляя все символы кроме цифр.
ToNull Возвращает null, если значение входных данных может трактоваться как null; иначе возвращает $value.
DateTimeFormatter Принимает строку даты/времени в произвольном формате и создает строку даты/времени в заданном формате.
BaseName Принимая строку, содержащую путь к файлу или каталогу, этот фильтр вернет последний компонент имени.
Dir Принимая строку, содержащую путь к файлу или каталогу, этот фильтр вернет путь родительского каталога.
RealPath Возвращает каноническое абсолютное имя пути.
Compress Сжимает входные данные с помощью указанного алгоритма (по умолчанию GZ).
Decompress Разжимает входные данные с помощью указанного алгоритма (эффект противоположен фильтру Compress).
Encrypt Зашифровывает входные данные указанным алгоритмом шифрования.
Decrypt Расшифровывает входные данные, зашифрованные указанным алгоритмом шифрования.
Inflector Изменяет слово для выражения различных грамматических категорий: времени, наклонения, залога, вида глагола, лица, числа, пола и падежа.
PregReplace Выполняет поиск и замену по регулярному выражению.
StringToLower Конвертирует строку в нижний регистр.
StringToUpper Конвертирует строку в верхний регистр.
StringTrim Убирает пробельные символы (пробелы, табуляцию и пр.) из начала и из конца строки.
StripNewlines Убирает из строки символы перехода на новую строку (ASCII-коды #13, #10).
HtmlEntities Возвращает строку, конвертируя символы в соответствующие HTML-сущности (где таковые существуют).
StripTags Убирает теги (например, <a></a>) и комментарии (например, <!-- -->).
UriNormalize Конвертирует строку URL в "нормализованную" форму и добавляет перед схемой (например, конвертирует www.example.com в http://www.example.com).
Callback Позволяет использовать функцию обратного вызова в качестве фильтра.
FilterChain Позволяет организовать несколько фильтров в цепь.
StaticFilter Возвращает значение, отфильтрованное указанным классом фильтра, без необходимости отдельного инстанцирования объекта фильтра.

Top