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

Person

Описание: Класс для представления персоны из API Kinopoisk.dev Представляет информацию об актере, режиссере, сценаристе или другом участнике кинопроизводства. Содержит биографические данные, профессиональную информацию, фильмографию и другие связанные сведения.

С версии: 1.0.0

Версия: 1.0.0

См. также:

  • \KinopoiskDev\Models\PersonInMovie: Для информации о персоне в контексте фильма
  • \KinopoiskDev\Enums\PersonProfession: Для типов профессий персон
  • \KinopoiskDev\Enums\PersonSex: Для типов пола персон
  • \KinopoiskDev\Models\MeiliPersonEntity: Родительский класс

__construct()

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

Параметры:

  • $id (int): Уникальный идентификатор персоны в системе Kinopoisk
  • $name (string|null): Имя персоны на русском языке
  • $enName (string|null): Имя персоны на английском языке
  • $photo (string|null): URL фотографии персоны
  • $sex (PersonSex|null): Пол персоны (enum значение)
  • $growth (int|null): Рост персоны в сантиметрах
  • $birthday (string|null): Дата рождения в формате ISO 8601
  • $death (string|null): Дата смерти в формате ISO 8601
  • $age (int|null): Возраст персоны в годах
  • $birthPlace (\KinopoiskDev\Models\BirthPlace[]): Массив мест рождения персоны (пустой массив по умолчанию)
  • $deathPlace (\KinopoiskDev\Models\DeathPlace[]): Массив мест смерти персоны (пустой массив по умолчанию)
  • $profession (PersonProfession[]|null): Массив профессий персоны (может быть null если профессии неизвестны)
  • $spouses (\KinopoiskDev\Models\Spouses[]): Массив данных о супругах персоны
  • $countAwards (int): Количество наград персоны (по умолчанию 0)
  • $facts (\KinopoiskDev\Models\FactInPerson[]): Массив интересных фактов о персоне
  • $movies (\KinopoiskDev\Models\MovieInPerson[]): Массив фильмов с участием персоны
  • $updatedAt (string|null): Дата последнего обновления записи в формате ISO 8601
  • $createdAt (string|null): Дата создания записи в формате ISO 8601

См. также:

  • Person::fromArray: () Для создания объекта из массива данных API
  • Person::toArray: () Для преобразования объекта в массив
  • MeiliPersonEntity::__construct: () Конструктор родительского класса

fromArray()

Описание: Создает объект Person из массива данных API Фабричный метод для создания экземпляра класса Person из массива данных, полученных от API Kinopoisk.dev. Безопасно обрабатывает отсутствующие значения и преобразует вложенные объекты в соответствующие классы.

Параметры:

  • $data (array): Массив данных о персоне от API, содержащий все возможные поля персоны

Возвращает: \KinopoiskDev\Models\Person Новый экземпляр класса Person с данными из массива

Исключения:

  • \KinopoiskDev\Exceptions\KinopoiskDevException:

См. также:

  • Person::toArray: () Для обратного преобразования в массив
  • DataManager::parseEnumValue: () Для преобразования enum значений

validate()

Описание: Валидирует данные модели

Возвращает: bool True если данные валидны

Исключения:

  • \KinopoiskDev\Exceptions\ValidationException: При ошибке валидации

toArray()

Описание: Преобразует объект в массив данных Конвертирует текущий экземпляр класса Person в массив, совместимый с форматом API Kinopoisk.dev. Используется для сериализации данных при отправке запросов к API или для экспорта данных.

Возвращает: array Массив с полными данными о персоне, содержащий все поля объекта

См. также:

  • Person::fromArray: () Для создания объекта из массива
  • DataManager::getObjectsArray: () Для преобразования массива объектов в массив массивов

getName()

Описание: Возвращает наиболее подходящее имя персоны. Метод последовательно проверяет наличие русского имени (name) и английского имени (enName). Возвращается первое найденное не-null значение. Если оба имени отсутствуют, возвращается пустая строка.

С версии: 1.0.0

Возвращает: string Имя персоны или пустая строка, если имена не доступны.

См. также:

  • Person::: $enName
  • Person::: $name