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

NetworkItem

Описание: Класс для представления элемента сети/телеканала Представляет информацию об элементе сети или телеканала, включая название и логотип. Используется для хранения данных о телевизионных сетях, стриминговых платформах и других вещательных каналах, связанных с фильмами и сериалами.

С версии: 1.0.0

Версия: 1.0.0

См. также:

  • \KinopoiskDev\Models\Logo: Для работы с логотипами
  • \KinopoiskDev\Models\Movie: Для использования в фильмах

__construct()

Описание: Конструктор для создания объекта элемента сети Создает новый экземпляр класса NetworkItem с указанными параметрами названия и логотипа. Все параметры являются опциональными и могут быть null при отсутствии соответствующих данных.

Параметры:

  • $name (string|null): Название сети или телеканала (null если не указано)
  • $logo (Logo|null): Логотип сети или null если отсутствует

Пример:

PHP
1
2
3
4
$network = new NetworkItem(
name: 'Netflix',
logo: new Logo('https://example.com/netflix-logo.png')
);

См. также:

  • NetworkItem::fromArray: () Для создания объекта из массива данных API
  • NetworkItem::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 не существует

Пример:

PHP
// Создание элемента сети с полными данными
$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 Массив с данными об элементе сети, содержащий ключи:

Пример:

PHP
1
2
3
$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 если данные валидны