MovieFilter¶
Описание: Класс для создания фильтров при поиске фильмов Этот класс предоставляет методы для построения параметров фильтрации при поиске фильмов через API Kinopoisk.dev
Ссылка: https://kinopoiskdev.readme.io/reference/moviecontroller_findmanybyqueryv1_4
id()
¶
Описание: Добавляет фильтр по ID фильма
Параметры:
$id
(int|array): ID фильма или массив ID $operator
(string): Оператор сравнения (eq, ne, in, nin)
addFilter()
¶
Описание: Добавляет произвольный фильтр
Параметры:
$field
(string): Поле для фильтрации$value
(mixed): Значение фильтра$operator
(string): Оператор сравнения
externalId()
¶
Описание: Добавляет фильтр по внешнему ID фильма
name()
¶
Описание: Добавляет фильтр по названию фильма
Параметры:
$name
(string): Название фильма$operator
(string): Оператор сравнения (eq, ne, in, nin, regex)
enName()
¶
Описание: Добавляет фильтр по английскому названию фильма
Параметры:
$enName
(string): Английское название фильма$operator
(string): Оператор сравнения (eq, ne, in, nin, regex)
alternativeName()
¶
Описание: Добавляет фильтр по альтернативному названию фильма
Параметры:
$alternativeName
(string): Альтернативное название фильма$operator
(string): Оператор сравнения (eq, ne, in, nin, regex)
names()
¶
Описание: Добавляет фильтр по всем названиям фильма
Параметры:
$names
(string|array): Название или массив названий $operator
(string): Оператор сравнения (eq, ne, in, nin, regex)
description()
¶
Описание: Добавляет фильтр по описанию фильма
Параметры:
$description
(string): Описание фильма$operator
(string): Оператор сравнения (eq, ne, regex)
shortDescription()
¶
Описание: Добавляет фильтр по краткому описанию фильма
Параметры:
$shortDescription
(string): Краткое описание фильма$operator
(string): Оператор сравнения (eq, ne, regex)
slogan()
¶
Описание: Добавляет фильтр по слогану фильма
Параметры:
$slogan
(string): Слоган фильма$operator
(string): Оператор сравнения (eq, ne, regex)
type()
¶
Описание: Добавляет фильтр по типу фильма
Параметры:
$type
(string): Тип фильма (movie, tv-series, cartoon, anime, animated-series, tv-show)$operator
(string): Оператор сравнения (eq, ne, in, nin)
typeNumber()
¶
Описание: Добавляет фильтр по номеру типа фильма
Параметры:
$typeNumber
(int): Номер типа фильма (1-6)$operator
(string): Оператор сравнения (eq, ne, in, nin, gt, gte, lt, lte)
isSeries()
¶
Описание: Добавляет фильтр по признаку сериала
Параметры:
$isSeries
(bool): Является ли фильм сериалом
status()
¶
Описание: Добавляет фильтр по статусу фильма
Параметры:
$status
(string): Статус фильма (filming, pre-production, completed, announced, post-production)$operator
(string): Оператор сравнения (eq, ne, in, nin)
year()
¶
Описание: Добавляет фильтр по году выпуска
Параметры:
$year
(int): Год выпуска$operator
(string): Оператор сравнения (eq, ne, in, nin, gt, gte, lt, lte)
yearRange()
¶
Описание: Добавляет фильтр по диапазону годов выпуска
Параметры:
$fromYear
(int): Начальный год$toYear
(int): Конечный год
releaseYears()
¶
Описание: Добавляет фильтр по годам релиза
Параметры:
$releaseYears
(array): Массив годов релиза
rating()
¶
Описание: Добавляет фильтр по рейтингу
Параметры:
$rating
(float|array): Рейтинг или массив с параметрами рейтинга $field
(string): Поле рейтинга (kp, imdb, tmdb, filmCritics, russianFilmCritics, await)$operator
(string): Оператор сравнения (eq, ne, in, nin, gt, gte, lt, lte)
ratingRange()
¶
Описание: Добавляет фильтр по диапазону рейтинга
Параметры:
$minRating
(float): Минимальный рейтинг$maxRating
(float): Максимальный рейтинг$field
(string): Поле рейтинга (kp, imdb, tmdb, filmCritics, russianFilmCritics, await)
ratingMpaa()
¶
Описание: Добавляет фильтр по рейтингу MPAA
Параметры:
$ratingMpaa
(string): Рейтинг MPAA (g, pg, pg-13, r, nc-17)$operator
(string): Оператор сравнения (eq, ne, in, nin)
ageRating()
¶
Описание: Добавляет фильтр по возрастному рейтингу
Параметры:
$ageRating
(int): Возрастной рейтинг$operator
(string): Оператор сравнения (eq, ne, in, nin, gt, gte, lt, lte)
votes()
¶
Описание: Добавляет фильтр по голосам
Параметры:
$votes
(int|array): Количество голосов или массив с параметрами голосов $field
(string): Поле голосов (kp, imdb, tmdb, filmCritics, russianFilmCritics, await)$operator
(string): Оператор сравнения (eq, ne, in, nin, gt, gte, lt, lte)
votesRange()
¶
Описание: Добавляет фильтр по диапазону голосов
Параметры:
$minVotes
(int): Минимальное количество голосов$maxVotes
(int): Максимальное количество голосов$field
(string): Поле голосов (kp, imdb, tmdb, filmCritics, russianFilmCritics, await)
seasonsInfo()
¶
Описание: Добавляет фильтр по информации о сезонах
budget()
¶
Описание: Добавляет фильтр по бюджету
audience()
¶
Описание: Добавляет фильтр по аудитории
movieLength()
¶
Описание: Добавляет фильтр по длительности фильма
Параметры:
$movieLength
(int): Длительность фильма в минутах$operator
(string): Оператор сравнения (eq, ne, in, nin, gt, gte, lt, lte)
seriesLength()
¶
Описание: Добавляет фильтр по длительности серии
Параметры:
$seriesLength
(int): Длительность серии в минутах$operator
(string): Оператор сравнения (eq, ne, in, nin, gt, gte, lt, lte)
totalSeriesLength()
¶
Описание: Добавляет фильтр по общей длительности сериала
Параметры:
$totalSeriesLength
(int): Общая длительность сериала в минутах$operator
(string): Оператор сравнения (eq, ne, in, nin, gt, gte, lt, lte)
genres()
¶
Описание: Добавляет фильтр по жанрам
Параметры:
$genres
(string|array): Жанр или массив жанров $operator
(string): Оператор сравнения (eq, ne, in, nin)
includeGenres()
¶
Описание: Добавляет фильтр для включения жанров (оператор +)
Параметры:
$genres
(string|array): Жанр или массив жанров для включения
excludeGenres()
¶
Описание: Добавляет фильтр для исключения жанров (оператор !)
Параметры:
$genres
(string|array): Жанр или массив жанров для исключения
countries()
¶
Описание: Добавляет фильтр по странам
Параметры:
$countries
(string|array): Страна или массив стран $operator
(string): Оператор сравнения (eq, ne, in, nin)
includeCountries()
¶
Описание: Добавляет фильтр для включения стран (оператор +)
Параметры:
$countries
(string|array): Страна или массив стран для включения
excludeCountries()
¶
Описание: Добавляет фильтр для исключения стран (оператор !)
Параметры:
$countries
(string|array): Страна или массив стран для исключения
poster()
¶
Описание: Добавляет фильтр по постеру
backdrop()
¶
Описание: Добавляет фильтр по фоновому изображению
logo()
¶
Описание: Добавляет фильтр по логотипу
ticketsOnSale()
¶
Описание: Добавляет фильтр по наличию билетов в продаже
Параметры:
$ticketsOnSale
(bool): Наличие билетов в продаже
videos()
¶
Описание: Добавляет фильтр по видео
networks()
¶
Описание: Добавляет фильтр по сетям
persons()
¶
Описание: Добавляет фильтр по участникам
facts()
¶
Описание: Добавляет фильтр по фактам
fees()
¶
Описание: Добавляет фильтр по сборам
premiere()
¶
Описание: Добавляет фильтр по премьере
premiereRange()
¶
Описание: Добавляет фильтр по диапазону дат премьеры
Параметры:
$fromDate
(string): Начальная дата в формате dd.mm.yyyy$toDate
(string): Конечная дата в формате dd.mm.yyyy$country
(string): Страна премьеры (russia, world, usa, ...)
similarMovies()
¶
Описание: Добавляет фильтр по похожим фильмам
sequelsAndPrequels()
¶
Описание: Добавляет фильтр по сиквелам и приквелам
watchability()
¶
Описание: Добавляет фильтр по доступности просмотра
lists()
¶
Описание: Добавляет фильтр по спискам
top10()
¶
Описание: Добавляет фильтр по топ-10
Параметры:
$top10
(int): Позиция в топ-10$operator
(string): Оператор сравнения (eq, ne, in, nin, gt, gte, lt, lte)
top250()
¶
Описание: Добавляет фильтр по топ-250
Параметры:
$top250
(int): Позиция в топ-250$operator
(string): Оператор сравнения (eq, ne, in, nin, gt, gte, lt, lte)
updatedAt()
¶
Описание: Добавляет фильтр по дате обновления
Параметры:
$updatedAt
(string): Дата обновления$operator
(string): Оператор сравнения (eq, ne, gt, gte, lt, lte)
createdAt()
¶
Описание: Добавляет фильтр по дате создания
Параметры:
$createdAt
(string): Дата создания$operator
(string): Оператор сравнения (eq, ne, gt, gte, lt, lte)
getFilters()
¶
Описание: Возвращает массив фильтров
Возвращает: array<string, mixed>
notNullFields()
¶
Описание: Исключение записей с пустыми значениями в указанных полях
Параметры:
$fields
(array): Массив названий полей
reset()
¶
Описание: Сбрасывает все фильтры
setMaxLimit()
¶
Описание: Устанавливает лимит количества элементов в результате запроса Метод устанавливает ограничение на количество возвращаемых элементов в текущем запросе. Используется для пагинации и контроля объема данных. Добавляет фильтр 'limit' в массив фильтров запроса.
Параметры:
$int
(int): Максимальное количество элементов для возврата (должно быть положительным числом)
Возвращает: self
Возвращает текущий экземпляр объекта для поддержки цепочки вызовов (fluent interface)
setPageNumber()
¶
Описание: Устанавливает номер страницы для пагинации результатов Задает номер страницы для получения определенного набора результатов при выполнении запросов с пагинацией. Страницы нумеруются начиная с 1. Значение сохраняется в массиве фильтров под ключом 'page' для последующего использования в API-запросах.
С версии: 1.0.0
Параметры:
$int
(int): Номер страницы для получения результатов (должен быть больше 0)
Возвращает: self
Возвращает текущий экземпляр для цепочного вызова методов
Пример:
PHP | |
---|---|
removeSortByField()
¶
Описание: Удаляет сортировку по указанному полю
Параметры:
$field
(SortField): Поле для удаления из сортировки
toggleSort()
¶
Описание: Переключает направление сортировки для указанного поля Если сортировка по полю существует, меняет направление на противоположное. Если сортировки нет, добавляет с направлением по умолчанию.
Параметры:
$field
(SortField): Поле для переключения сортировки
sortBy()
¶
Описание: Добавляет сортировку по указанному полю
Параметры:
$field
(SortField): Поле для сортировки$direction
(SortDirection|null): Направление сортировки (по умолчанию используется рекомендуемое)
addSortCriteria()
¶
Описание: Добавляет критерий сортировки Добавляет новый критерий сортировки к текущему набору. Если критерий для указанного поля уже существует, он будет заменен.
Параметры:
$criteria
(SortCriteria): Критерий сортировки
hasSortBy()
¶
Описание: Проверяет, установлена ли сортировка по указанному полю
Параметры:
$field
(SortField): Поле для проверки
Возвращает: bool true,
если сортировка по полю установлена, false в противном случае
getSortDirection()
¶
Описание: Возвращает направление сортировки для указанного поля
Параметры:
$field
(SortField): Поле для получения направления
Возвращает: SortDirection|null
Направление сортировки или null, если сортировка не установлена
getSortCriteria()
¶
Описание: Возвращает все критерии сортировки
Возвращает: SortCriteria[]
Массив критериев сортировки
setSortCriteria()
¶
Описание: Устанавливает множественные критерии сортировки Заменяет текущие критерии сортировки новым набором.
Параметры:
$criteria
(SortCriteria[]): Массив критериев сортировки
clearSort()
¶
Описание: Очищает все критерии сортировки
addMultipleSort()
¶
Описание: Добавляет множественные критерии сортировки из массива строк
Параметры:
$sorts
(array): Массив строк в формате "field:direction" или просто "field"
Пример:
PHP | |
---|---|
getSortData()
¶
Описание: Преобразует критерии сортировки в параметры для API Формирует строку сортировки в формате, ожидаемом API Kinopoisk.dev. Множественные критерии объединяются запятыми.
Возвращает: array|null
Массив с данными о критериях сортировки или null, если критерии не установлены
getSortCount()
¶
Описание: Возвращает количество установленных критериев сортировки
Возвращает: int
Количество критериев сортировки
hasAnySorting()
¶
Описание: Проверяет, установлены ли какие-либо критерии сортировки
Возвращает: bool true,
если есть хотя бы один критерий сортировки, false в противном случае
getFirstSortCriteria()
¶
Описание: Возвращает первый критерий сортировки
Возвращает: SortCriteria|null
Первый критерий или null, если критерии отсутствуют
getLastSortCriteria()
¶
Описание: Возвращает последний критерий сортировки
Возвращает: SortCriteria|null
Последний критерий или null, если критерии отсутствуют
sortByImdbRating()
¶
Описание: Сортировка по рейтингу IMDB (по убыванию)
sortByDesc()
¶
Описание: Добавляет сортировку по убыванию
Параметры:
$field
(SortField): Поле для сортировки
sortByYearOldFirst()
¶
Описание: Сортировка по году выпуска (по возрастанию - сначала старые)
sortByAsc()
¶
Описание: Добавляет сортировку по возрастанию
Параметры:
$field
(SortField): Поле для сортировки
sortByName()
¶
Описание: Сортировка по названию (по алфавиту)
sortByPopularity()
¶
Описание: Сортировка по популярности (количество голосов Кинопоиска)
sortByCreated()
¶
Описание: Сортировка по дате создания записи (сначала новые)
sortByUpdated()
¶
Описание: Сортировка по дате обновления записи (сначала обновленные)
sortByBest()
¶
Описание: Комбинированная сортировка по рейтингу и году Сначала по рейтингу Кинопоиска (по убыванию), затем по году (по убыванию).
sortByYear()
¶
Описание: Сортировка по году выпуска (по убыванию - сначала новые)
sortByKinopoiskRating()
¶
Описание: Сортировка по рейтингу Кинопоиска (по убыванию)
exportSortCriteria()
¶
Описание: Экспорт критериев сортировки в массив для сериализации
Возвращает: array<array<string, string>>
Массив с данными о критериях сортировки
importSortCriteria()
¶
Описание: Импорт критериев сортировки из массива