Стандартные фильтры, реализующие интерфейс FilterInterface
, принадлежат компоненту Zend\Filter
26.
Диаграмма наследования классов фильтров показана на рисунке 8.1. Как видите из рисунка, базовый класс для большинства
стандартных фильтров - класс AbstractFilter
, реализующий интерфейс FilterInterface
27
26) В этом разделе мы считаем стандартными только те фильтры, которые принадлежат пространству имен Zend\Filter
,
однако существуют и другие фильтры, которые можно считать стандартными. Например, пространство имен Zend\Filter\File
содержит несколько фильтров, применимых для обработки загрузок файлов (эти фильтры будут рассмотрены в следующих разделах).
Кроме этого, компонент Zend\I18n
определяет несколько классов фильтров, которые осведомлены о локали (региональных настройках) пользователя).
27) Из рисунка выше также можно заметить, что существует еще несколько базовых фильтров: AbstractUnicode
- базовый класс
для фильтров StringToUpper
и StringToLower
, так как он предоставляет общий для обоих набор функций для преобразования строк.
Фильтр Decompress
наследуется от фильтра Compress
, так как эти фильтры, на самом деле, очень похожи. Аналогично, фильтр Decrypt
наследуется от фильтра Encrypt
, потому что они тоже являются зеркальными отражениями друг друга.
Вы могли заметить странный фильтр
StaticFilter
, который не наследуется от базового классаAbstractFilter
. Это потому, что классStaticFilter
на самом деле являются "оберткой" (то есть, "заместителем" (proxy) для другого фильтра без явного инстанцирования второго).
Стандартные фильтры, предоставляемые компонентом Zend\Filter
, вместе с их кратким описанием перечислены в таблице 8.1.
Как видите из этой таблицы, стандартные фильтры можно приблизительно разделить на следующие группы:
Callback
, FilterChain
и StaticFilter
).Имя класса | Описание |
---|---|
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 |
Возвращает значение, отфильтрованное указанным классом фильтра, без необходимости отдельного инстанцирования объекта фильтра. |