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()¶
Описание: Импорт критериев сортировки из массива