title: Перечисления description: Система перечислений KinopoiskDev для типизированных констант и значений keywords: перечисления, enums, фильтры, сортировка, статусы, типы category: enums tags: - Kinopoisk - enums
Перечисления¶
Система перечислений KinopoiskDev предоставляет типизированные константы для всех возможных значений, используемых в API. Все enum'ы основаны на PHP 8.1+ перечислениях для обеспечения типобезопасности и читаемости кода.
Обзор¶
Перечисления в KinopoiskDev используются для:
- Типобезопасности - предотвращение использования недопустимых значений
- Читаемости кода - понятные названия вместо магических чисел
- Валидации - автоматическая проверка допустимых значений
- Документации - самодокументируемый код с описаниями
Доступные перечисления¶
FilterField¶
Файл: FilterField.md
Enum для полей фильтрации, содержащий все возможные поля для фильтрации данных через API:
PHP | |
---|---|
Возможности:
- Все поля API для фильтрации
- Поддержка составных полей (rating.kp, votes.imdb)
- Методы для определения типа поля
- Проверка поддержки операторов
FilterOperator¶
Файл: FilterOperator.md
Enum для операторов фильтрации, определяющий все возможные операции сравнения:
PHP | |
---|---|
Возможности:
- Операторы сравнения (eq, ne, gt, lt, gte, lte)
- Операторы включения/исключения (in, nin, all)
- Операторы диапазонов (range)
- Регулярные выражения (regex)
SortField¶
Файл: SortField.md
Enum для полей сортировки при поиске фильмов и персон:
PHP | |
---|---|
Возможности:
- Поля для сортировки фильмов
- Поля для сортировки персон
- Методы для определения типа данных
- Рекомендуемые направления сортировки
SortDirection¶
Файл: SortDirection.md
Enum для направления сортировки результатов поиска:
Возможности:
- Возрастающая сортировка (ASC)
- Убывающая сортировка (DESC)
- Методы для получения противоположного направления
- Символьные представления (↑, ↓)
MovieType¶
Файл: MovieType.md
Enum для типов фильмов, возвращаемых API:
PHP | |
---|---|
Возможности:
- Все типы контента КиноПоиска
- Человекочитаемые названия
- Фильтрация по типам
MovieStatus¶
Файл: MovieStatus.md
Enum для статусов фильмов в производстве:
PHP | |
---|---|
Возможности:
- Статусы производства фильмов
- Фильтрация по статусам
- Человекочитаемые названия
PersonProfession¶
Файл: PersonProfession.md
Enum для профессий персон в кинематографе:
PHP | |
---|---|
Возможности:
- Все профессии в кинематографе
- Поддержка русского и английского языков
- Множественные формы названий
- Фильтрация персон по профессиям
PersonSex¶
Файл: PersonSex.md
Enum для пола персон:
Возможности:
- Определение пола персон
- Русские названия
- Фильтрация по полу
RatingMpaa¶
Файл: RatingMpaa.md
Enum для рейтингов MPAA (Американская ассоциация кинокомпаний):
PHP | |
---|---|
Возможности:
- Все рейтинги MPAA
- Описания возрастных ограничений
- Фильтрация по возрастным рейтингам
ImageType¶
Файл: ImageType.md
Enum для типов изображений:
PHP | |
---|---|
Возможности:
- Все типы изображений
- Фильтрация изображений по типам
- Специализированные фильтры
HttpStatusCode¶
Файл: HttpStatusCode.md
Enum для HTTP статус кодов, используемых в API:
PHP | |
---|---|
Возможности:
- Основные HTTP статус коды
- Описания на русском языке
- Проверка успешности/ошибки
ReviewType¶
Файл: ReviewType.md
Enum для типов отзывов:
PHP | |
---|---|
Возможности:
- Типы отзывов
- Фильтрация отзывов
- Русские названия
ListCategory¶
Файл: ListCategory.md
Enum для категорий списков:
PHP | |
---|---|
Возможности:
- Категории списков КиноПоиска
- Фильтрация по категориям
- Русские названия
StudioType¶
Файл: StudioType.md
Enum для типов студий:
PHP | |
---|---|
Возможности:
- Типы студий в кинематографе
- Описания на русском и английском
- Фильтрация студий по типам
Использование¶
Базовые примеры¶
Проверка типов полей¶
PHP | |
---|---|
Работа с направлениями сортировки¶
PHP | |
---|---|
Фильтрация по профессиям¶
PHP | |
---|---|
Интеграция с фильтрами¶
Автоматическая валидация¶
PHP | |
---|---|
Типобезопасность¶
PHP | |
---|---|
Связанные разделы¶
- Filter - классы фильтров, использующие enum'ы
- Utils - утилиты для работы с enum'ами
- Kinopoisk - главный класс с поддержкой enum'ов
Преимущества¶
Типобезопасность¶
PHP | |
---|---|
Читаемость¶
PHP | |
---|---|
Валидация¶
PHP | |
---|---|
Полезные ссылки¶
- PHP Enums Documentation ⧉ - официальная документация PHP
- Filter Classes - классы фильтров
- Utils - утилиты для работы с enum'ами
Перечисления KinopoiskDev - обеспечивают типобезопасность и читаемость кода через строго типизированные константы.