MovieFilter
Описание: Класс для создания фильтров при поиске фильмов Этот класс предоставляет методы для построения параметров фильтрации при поиске фильмов через API Kinopoisk.dev
Ссылка: https://kinopoiskdev.readme.io/reference/moviecontroller_findmanybyqueryv1_4
id()
Описание: Добавляет фильтр по ID фильма
Параметры:
$id(int|array<int>): 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<string>): Название или массив названий$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<int>): Массив годов релиза
rating()
Описание: Добавляет фильтр по рейтингу
Параметры:
$rating(float|array<float>): Рейтинг или массив с параметрами рейтинга$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<int>): Количество голосов или массив с параметрами голосов$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<string>): Жанр или массив жанров$operator(string): Оператор сравнения (eq, ne, in, nin)
includeGenres()
Описание: Добавляет фильтр для включения жанров (оператор +)
Параметры:
$genres(string|array<string>): Жанр или массив жанров для включения
excludeGenres()
Описание: Добавляет фильтр для исключения жанров (оператор !)
Параметры:
$genres(string|array<string>): Жанр или массив жанров для исключения
countries()
Описание: Добавляет фильтр по странам
Параметры:
$countries(string|array<string>): Страна или массив стран$operator(string): Оператор сравнения (eq, ne, in, nin)
includeCountries()
Описание: Добавляет фильтр для включения стран (оператор +)
Параметры:
$countries(string|array<string>): Страна или массив стран для включения
excludeCountries()
Описание: Добавляет фильтр для исключения стран (оператор !)
Параметры:
$countries(string|array<string>): Страна или массив стран для исключения
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<string>): Массив названий полей
reset()
Описание: Сбрасывает все фильтры
setMaxLimit()
Описание: Устанавливает лимит количества элементов в результате запроса Метод устанавливает ограничение на количество возвращаемых элементов в текущем запросе. Используется для пагинации и контроля объема данных. Добавляет фильтр 'limit' в массив фильтров запроса.
Параметры:
$int(int): Максимальное количество элементов для возврата (должно быть положительным числом)
Возвращает: self Возвращает текущий экземпляр объекта для поддержки цепочки вызовов (fluent interface)
setPageNumber()
Описание: Устанавливает номер страницы для пагинации результатов Задает номер страницы для получения определенного набора результатов при выполнении запросов с пагинацией. Страницы нумеруются начиная с 1. Значение сохраняется в массиве фильтров под ключом 'page' для последующего использования в API-запросах.
С версии: 1.0.0
Параметры:
$int(int): Номер страницы для получения результатов (должен быть больше 0)
Возвращает: self Возвращает текущий экземпляр для цепочного вызова методов
Пример:
$filter = new MovieSearchFilter();
$filter->page(2)->limit(20); // Получить вторую страницу с 20 результатами
// Использование в цепочке методов
$results = $movieRequests->searchMovies(
$filter->year(2023)->page(3)->limit(50)
);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<string|SortCriteria>): Массив строк в формате "field:direction" или просто "field"
Пример:
$filter->addMultipleSort([
'rating.kp:desc',
'year:asc',
'name' // будет использовано направление по умолчанию
]);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()
Описание: Импорт критериев сортировки из массива