NetworkItem
Описание: Класс для представления элемента сети/телеканала Представляет информацию об элементе сети или телеканала, включая название и логотип. Используется для хранения данных о телевизионных сетях, стриминговых платформах и других вещательных каналах, связанных с фильмами и сериалами.
С версии: 1.0.0
Версия: 1.0.0
См. также:
\KinopoiskDev\Models\Logo: Для работы с логотипами\KinopoiskDev\Models\Movie: Для использования в фильмах
__construct()
Описание: Конструктор для создания объекта элемента сети Создает новый экземпляр класса NetworkItem с указанными параметрами названия и логотипа. Все параметры являются опциональными и могут быть null при отсутствии соответствующих данных.
Параметры:
$name(string|null): Название сети или телеканала (null если не указано)$logo(Logo|null): Логотип сети или null если отсутствует
Пример:
$network = new NetworkItem(
name: 'Netflix',
logo: new Logo('https://example.com/netflix-logo.png')
);См. также:
NetworkItem::fromArray: () Для создания объекта из массива данных APINetworkItem::toArray: () Для преобразования объекта в массив
fromArray()
Описание: Создает объект NetworkItem из массива данных API Фабричный метод для создания экземпляра класса NetworkItem из массива данных, полученных от API Kinopoisk.dev. Безопасно обрабатывает отсутствующие значения, устанавливая их в null. Автоматически создает вложенный объект Logo при наличии соответствующих данных через класс DataManager.
- name: string|null - название сети или телеканала
- logo: array|null - данные о логотипе с URL изображения или не имеет метода fromArray()
Параметры:
$data(array): Массив данных об элементе сети от API, содержащий ключи:
Возвращает: static Новый экземпляр класса NetworkItem с данными из массива
Исключения:
\KinopoiskDev\Exceptions\KinopoiskDevException: Если указанный класс Logo не существует
Пример:
// Создание элемента сети с полными данными
$networkData = [
'name' => 'Netflix',
'logo' => ['url' => 'https://example.com/netflix-logo.png']
];
$network = NetworkItem::fromArray($networkData);
// Создание элемента сети с частичными данными
$partialData = ['name' => 'HBO'];
$network = NetworkItem::fromArray($partialData); // logo будет null
// Создание из пустого массива
$emptyNetwork = NetworkItem::fromArray([]); // все поля будут nullСм. также:
NetworkItem::toArray: () Для обратного преобразования в массивLogo::fromArray: () Для создания объекта логотипаDataManager::parseObjectData: () Для парсинга вложенных объектов
toArray()
Описание: Преобразует объект в массив данных Конвертирует текущий экземпляр класса NetworkItem в массив, совместимый с форматом API Kinopoisk.dev. Используется для сериализации данных при отправке запросов к API или для экспорта данных в JSON формат. Автоматически преобразует вложенный объект Logo в массив.
- name: string|null - название сети
- logo: array|null - данные о логотипе в формате массива
Возвращает: array Массив с данными об элементе сети, содержащий ключи:
Пример:
$network = new NetworkItem('Netflix', new Logo('https://example.com/logo.png'));
$array = $network->toArray();
// ['name' => 'Netflix', 'logo' => ['url' => 'https://example.com/logo.png']]См. также:
NetworkItem::fromArray: () Для создания объекта из массиваLogo::toArray: () Для преобразования логотипа в массив
validate()
Описание: Валидирует данные модели
Возвращает: bool True если данные валидны