DataManager¶
getObjectsArray()¶
Описание: Преобразует массив объектов в массив массивов Статический вспомогательный метод для преобразования коллекции объектов в массив массивов путем вызова метода toArray() для каждого объекта. Используется для сериализации связанных объектов (например, жанров, стран, персон) при преобразовании основного объекта в массив данных. Может быть массивом объектов с методом toArray(), null, false или пустым массивом. Если передан массив, каждый элемент должен содержать метод toArray() Возвращает пустой массив, если входные данные являются falsy-значением (null, false, 0, пустой массив, пустая строка)
Параметры:
$objects(mixed): Коллекция объектов для преобразования или любое другое значение.
Возвращает: array<mixed> Массив массивов, полученный путем вызова toArray() для каждого объекта.
Пример:
См. также:
Movie::toArray: () Основной метод преобразования объекта фильма в массивGenre::toArray: () Метод преобразования жанра в массивCountry::toArray: () Метод преобразования страны в массивPerson::toArray: () Метод преобразования персоны в массив
parseObjectAuto()¶
Описание: Автоматически парсит объект из массива данных в зависимости от типа Универсальный метод для автоматической обработки объектов, который определяет, является ли значение по указанному ключу массивом объектов или одиночным объектом, и соответственно выбирает подходящий метод парсинга. Используется для автоматизации процесса обработки данных API, где одно и то же поле может содержать как массив объектов, так и одиночный объект.
Параметры:
$key(string): Ключ в массиве данных, по которому находится значение для парсинга$cls(string): Полное имя класса для создания объектов (должен иметь метод fromArray)$default(mixed): Значение по умолчанию, возвращаемое при отсутствии данных (по умолчанию null)
Возвращает: mixed Массив объектов указанного класса, одиночный объект или значение по умолчанию
Исключения:
\KinopoiskDev\Exceptions\KinopoiskDevException: Если указанный класс не существует или не имеет метода fromArray
См. также:
DataManager::parseObjectArray: () Для обработки массива объектовDataManager::parseObjectData: () Для обработки одиночного объекта
parseObjectArray()¶
Описание: Разбирает данные объекта из массива API Статический метод для извлечения и преобразования данных объектов из массива API по указанному ключу. Если ключ существует в массиве, применяет функцию преобразования к каждому элементу: создает объект через fromArray() для массивов или возвращает элемент как есть для других типов данных. Используется для обработки коллекций связанных объектов (жанры, страны, персоны и т.д.) при десериализации данных API. Метод выполняет автоматическую проверку существования указанного класса и наличия в нем метода fromArray() перед началом обработки данных. Это обеспечивает безопасность и предотвращает ошибки выполнения при работе с некорректными классами. Класс должен содержать статический метод fromArray() Каждый элемент массива либо преобразован в объект через fromArray(), либо возвращен в исходном виде для неассоциативных данных или не содержит метод fromArray()
Параметры:
$key(string): Ключ для поиска в массиве данных (например, 'genres', 'countries', 'persons')$cls(string): Имя класса для создания объектов (например, 'Genre', 'Country', 'Person').$default(mixed): Значение по умолчанию, возвращаемое при отсутствии ключа (по умолчанию пустой массив)
Возвращает: array<mixed> Массив объектов указанного типа или значение по умолчанию, если ключ не найден.
Исключения:
\KinopoiskDev\Exceptions\KinopoiskDevException: Если указанный класс не существует
Пример:
См. также:
DataManager::getObjectsArray: () Для преобразования объектов в массивыGenre::fromArray: () Для создания объектов жанровCountry::fromArray: () Для создания объектов странPerson::fromArray: () Для создания объектов персонLinkedMovie::fromArray: () Для создания объектов связанных фильмов
parseObjectData()¶
Описание: Парсит данные объекта из массива через фабричный метод Универсальный статический метод для создания объектов из массивов данных с использованием фабричного метода fromArray. Выполняет валидацию существования класса и требуемого метода, возвращая экземпляр объекта указанного класса или значение по умолчанию при отсутствии данных.
Параметры:
$key(string): Ключ в массиве данных для извлечения значения$cls(string): Полное имя класса для создания объекта (с пространством имен)$default(mixed): Значение по умолчанию, возвращаемое при отсутствии данных
Возвращает: mixed Экземпляр указанного класса, созданный через fromArray, или значение по умолчанию
Исключения:
\KinopoiskDev\Exceptions\KinopoiskDevException: Если указанный класс не существует\KinopoiskDev\Exceptions\KinopoiskDevException: Если в классе отсутствует метод fromArray
Пример:
| PHP | |
|---|---|
См. также:
\KinopoiskDev\Models\Rating::fromArray: () Пример использования с моделью рейтинга\KinopoiskDev\Models\Image::fromArray: () Пример использования с моделью изображения\KinopoiskDev\Models\ExternalId::fromArray: () Пример использования с внешними ID
parseEnumValue()¶
Описание: Разбирает значение enum из массива данных по указанному ключу Безопасно извлекает значение из массива данных и пытается преобразовать его в соответствующий enum с помощью метода tryFrom. Если ключ отсутствует в массиве или значение не может быть преобразовано в enum, возвращается значение по умолчанию. Выполняет проверку существования указанного класса enum перед попыткой преобразования.
Параметры:
$key(string): Ключ в массиве, значение которого необходимо получить$enumClass(string): Полное имя класса enum для преобразования значения$default(mixed): Значение по умолчанию, возвращаемое при отсутствии ключа или неудачном преобразовании
Возвращает: mixed Экземпляр enum или значение по умолчанию при неудачном преобразовании
Исключения:
\KinopoiskDev\Exceptions\KinopoiskDevException: Если указанный класс enum не существует
Пример:
| PHP | |
|---|---|
См. также:
\KinopoiskDev\Enums\MovieType: Пример использования с enum типов фильмов\KinopoiskDev\Enums\FilterField: Пример использования с enum полей фильтрации