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 полей фильтрации