Перейти к содержанию

SortCriteria

Описание: Класс для представления критериев сортировки Инкапсулирует информацию о поле сортировки и направлении, предоставляя удобные методы для работы с параметрами сортировки.

С версии: 1.0.0

Версия: 1.0.0

__construct()

Описание: Конструктор для создания критериев сортировки

Параметры:

  • $field (SortField): Поле для сортировки
  • $direction (SortDirection): Направление сортировки

__toString()

Описание: Возвращает строковое представление критериев

Возвращает: string Человекочитаемое описание критериев сортировки

create()

Описание: Создает критерии сортировки с автоматическим направлением по умолчанию Фабричный метод, который создает SortCriteria используя рекомендуемое направление сортировки для указанного поля.

Параметры:

  • $field (SortField): Поле для сортировки

Возвращает: self Новый экземпляр SortCriteria с направлением по умолчанию

ascending()

Описание: Создает критерии сортировки по возрастанию

Параметры:

  • $field (SortField): Поле для сортировки

Возвращает: self Новый экземпляр SortCriteria с направлением ASC

descending()

Описание: Создает критерии сортировки по убыванию

Параметры:

  • $field (SortField): Поле для сортировки

Возвращает: self Новый экземпляр SortCriteria с направлением DESC

fromArray()

Описание: Создает экземпляр SortCriteria из массива данных

Возвращает: self|null Новый экземпляр SortCriteria или null при некорректных данных

fromStrings()

Описание: Создает экземпляр SortCriteria из строковых значений

Параметры:

  • $field (string): Строковое значение поля
  • $direction (string|null): Строковое значение направления (опционально)

Возвращает: self|null Новый экземпляр SortCriteria или null при неудачном преобразовании

toArray()

Описание: Преобразует критерии в массив

Возвращает: array<string, string> Ассоциативный массив с ключами 'field' и 'direction'

toApiString()

Описание: Преобразует критерии в массив для URL параметров API Формирует массив с отдельными параметрами sortField и sortType для использования в API Kinopoisk.dev.

Возвращает: array Массив с ключами sortField и sortType

reverse()

Описание: Возвращает противоположные критерии сортировки Создает новый экземпляр SortCriteria с тем же полем, но противоположным направлением сортировки.

Возвращает: self Новый экземпляр с обращенным направлением

hasSameField()

Описание: Проверяет, совпадают ли критерии по полю

Параметры:

  • $other (SortCriteria): Другие критерии для сравнения

Возвращает: bool true, если поля совпадают, false в противном случае

equals()

Описание: Проверяет полное равенство критериев

Параметры:

  • $other (SortCriteria): Другие критерии для сравнения

Возвращает: bool true, если поле и направление совпадают, false в противном случае

toShortString()

Описание: Возвращает краткое строковое представление

Возвращает: string Краткое описание с символом направления

isRatingSort()

Описание: Проверяет, является ли поле рейтинговым

Возвращает: bool true, если поле сортировки является рейтинговым

isVotesSort()

Описание: Проверяет, является ли поле полем голосов

Возвращает: bool true, если поле сортировки является полем голосов

isDateSort()

Описание: Проверяет, является ли сортировка по дате

Возвращает: bool true, если поле сортировки является полем даты

getFieldDataType()

Описание: Возвращает тип данных поля сортировки

Возвращает: string Тип данных поля ('number', 'string', 'date')