SortManager¶
Описание: Trait для добавления функциональности сортировки к фильтрам Этот trait предоставляет методы для управления параметрами сортировки при выполнении запросов к API Kinopoisk.dev. Может использоваться в классах фильтрации для расширения их функциональности.
С версии: 1.0.0
Версия: 1.0.0
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()
¶
Описание: Импорт критериев сортировки из массива