MeiliPersonEntity¶
Описание: Сущность персоны для индексации в поисковой системе MeiliSearch Этот класс представляет структуру данных персоны для индексации в поисковой системе MeiliSearch. Содержит основную информацию о персоне, включая биографические данные, профессиональную информацию и места рождения/смерти. Все свойства являются для обеспечения неизменности данных.
С версии: 1.0.0
Версия: 1.0.0
См. также:
\KinopoiskDev\Enums\PersonSex
: Enum для определения пола персоны\KinopoiskDev\Models\Person
: Основная модель персоны
__construct()
¶
Описание: Создает новый экземпляр сущности персоны для MeiliSearch Конструктор инициализирует все свойства персоны значениями по умолчанию. Все параметры являются именованными для удобства использования и поддержки автоматической генерации объектов из массивов данных API.
С версии: 1.0.0
Параметры:
$id
(int): Уникальный идентификатор персоны в базе данных$name
(string|null): Имя персоны на русском языке (может быть null для неизвестных персон)$enName
(string|null): Имя персоны на английском языке (может быть null если отсутствует перевод)$photo
(string|null): URL фотографии персоны (может быть null если фото недоступно)$sex
(PersonSex|null): Пол персоны из enum PersonSex (может быть null если не определен)$growth
(int|null): Рост персоны в сантиметрах (может быть null если неизвестен)$birthday
(string|null): Дата рождения в формате ISO 8601 (может быть null если неизвестна)$death
(string|null): Дата смерти в формате ISO 8601 (может быть null если персона жива или дата неизвестна)$age
(int|null): Возраст персоны в годах (может быть null если невозможно вычислить)$birthPlace
(\KinopoiskDev\Models\BirthPlace[]): Массив мест рождения персоны (пустой массив по умолчанию)$deathPlace
(\KinopoiskDev\Models\DeathPlace[]): Массив мест смерти персоны (пустой массив по умолчанию)$profession
(PersonProfession[]|null): Массив профессий персоны (может быть null если профессии неизвестны)
fromArray()
¶
Описание: Создает объект MeiliPersonEntity из массива данных API Фабричный метод для создания экземпляра класса MeiliPersonEntity из массива данных, полученных от API Kinopoisk.dev. Безопасно обрабатывает отсутствующие значения, устанавливая их в null или пустые массивы.
Возвращает: static
Новый экземпляр класса MeiliPersonEntity
См. также:
MeiliPersonEntity::toArray
: () Для обратного преобразования в массив
validate()
¶
Описание: Валидирует данные модели
Возвращает: bool True
если данные валидны
getBestName()
¶
Описание: Возвращает наиболее подходящее имя персоны Определяет и возвращает наиболее подходящее имя персоны, отдавая предпочтение русскому имени, если оно доступно. Если русское имя отсутствует, возвращает английское имя.
Возвращает: string|null
Наиболее подходящее имя персоны или null, если имя не задано
getPhotoUrl()
¶
Описание: Возвращает URL фотографии персоны Предоставляет прямой доступ к URL-адресу фотографии персоны. Может использоваться для отображения изображения персоны в интерфейсе.
Возвращает: string|null
URL-адрес фотографии или null, если фотография отсутствует
getRoleCategory()
¶
Описание: Возвращает категории ролей персоны Определяет все категории профессий персоны на основе проверки различных типов профессий. Использует современный подход с array_filter для оптимизации производительности и избежания повторяющихся if-конструкций. Метод создает карту соответствия между значениями enum профессий и результатами методов проверки, затем фильтрует только те профессии, которые присутствуют у данной персоны.
С версии: 1.0.0
Версия: 1.0.0
Возвращает: array<string>
Массив строковых значений (value) enum PersonProfession для активных профессий персоны
См. также:
PersonProfession
: Enum с возможными категориями профессийself::isActor
: () Проверка, является ли персона актеромself::isDirector
: () Проверка, является ли персона режиссеромself::isWriter
: () Проверка, является ли персона сценаристомself::isProducer
: () Проверка, является ли персона продюсеромself::isComposer
: () Проверка, является ли персона композиторомself::isOperator
: () Проверка, является ли персона операторомself::isDesigner
: () Проверка, является ли персона художникомself::isEditor
: () Проверка, является ли персона монтажеромself::isVoiceActor
: () Проверка, является ли персона актером дубляжаself::isOtherProfession
: () Проверка других профессий персоны
isActor()
¶
Описание: Проверяет, является ли персона актером Определяет, является ли данная персона актером на основе значений в массиве профессий. Метод выполняет строгую проверку (с использованием оператора ===) наличия строкового значения enum PersonProfession::ACTOR в массиве profession. Возвращает true, если среди профессий персоны найдена профессия актера.
Возвращает: bool true,
если персона является актером, false в противном случае
См. также:
PersonProfession::ACTOR
: Enum значение профессии актераself::isDirector
: () Проверка, является ли персона режиссеромself::isWriter
: () Проверка, является ли персона сценаристомself::isProducer
: () Проверка, является ли персона продюсеромself::isComposer
: () Проверка, является ли персона композиторомself::isOperator
: () Проверка, является ли персона операторомself::isDesigner
: () Проверка, является ли персона художникомself::isEditor
: () Проверка, является ли персона монтажеромself::isVoiceActor
: () Проверка, является ли персона актером дубляжаself::isOtherProfession
: () Проверка других профессий персоны
isDirector()
¶
Описание: Проверяет, является ли персона режиссером Метод проверяет наличие профессии "режиссер" в массиве профессий персоны. Использует строгое сравнение для точного соответствия значения enum PersonProfession::DIRECTOR среди всех профессий персоны.
Возвращает: bool true,
если персона является режиссером, false в противном случае
См. также:
PersonProfession::DIRECTOR
: Константа для профессии режиссераself::isActor
: () Проверка, является ли персона актеромself::isWriter
: () Проверка, является ли персона сценаристомself::isProducer
: () Проверка, является ли персона продюсеромself::isComposer
: () Проверка, является ли персона композиторомself::isOperator
: () Проверка, является ли персона операторомself::isDesigner
: () Проверка, является ли персона художникомself::isEditor
: () Проверка, является ли персона монтажеромself::isVoiceActor
: () Проверка, является ли персона актером дубляжаself::isOtherProfession
: () Проверка других профессий персоны
isWriter()
¶
Описание: Проверяет, является ли персона сценаристом Метод проверяет наличие профессии "сценарист" в массиве профессий персоны. Использует строгое сравнение для точного соответствия значения enum PersonProfession::WRITER среди всех профессий персоны.
Возвращает: bool true,
если персона является сценаристом, false в противном случае
См. также:
PersonProfession::WRITER
: Константа для профессии сценаристаself::isActor
: () Проверка, является ли персона актеромself::isDirector
: () Проверка, является ли персона режиссеромself::isProducer
: () Проверка, является ли персона продюсеромself::isComposer
: () Проверка, является ли персона композиторомself::isOperator
: () Проверка, является ли персона операторомself::isDesigner
: () Проверка, является ли персона художникомself::isEditor
: () Проверка, является ли персона монтажеромself::isVoiceActor
: () Проверка, является ли персона актером дубляжаself::isOtherProfession
: () Проверка других профессий персоны
isProducer()
¶
Описание: Проверяет, является ли персона продюсером Метод проверяет наличие профессии "продюсер" в массиве профессий персоны. Использует строгое сравнение для точного соответствия значения enum PersonProfession::PRODUCER среди всех профессий персоны.
Возвращает: bool true,
если персона является продюсером, false в противном случае
См. также:
PersonProfession::PRODUCER
: Константа для профессии продюсераself::isActor
: () Проверка, является ли персона актеромself::isDirector
: () Проверка, является ли персона режиссеромself::isWriter
: () Проверка, является ли персона сценаристомself::isComposer
: () Проверка, является ли персона композиторомself::isOperator
: () Проверка, является ли персона операторомself::isDesigner
: () Проверка, является ли персона художникомself::isEditor
: () Проверка, является ли персона монтажеромself::isVoiceActor
: () Проверка, является ли персона актером дубляжаself::isOtherProfession
: () Проверка других профессий персоны
isComposer()
¶
Описание: Проверяет, является ли персона композитором Метод проверяет наличие профессии "композитор" в массиве профессий персоны. Использует строгое сравнение для точного соответствия значения enum PersonProfession::COMPOSER среди всех профессий персоны.
Возвращает: bool true,
если персона является композитором, false в противном случае
См. также:
PersonProfession::COMPOSER
: Константа для профессии композитораself::isActor
: () Проверка, является ли персона актеромself::isDirector
: () Проверка, является ли персона режиссеромself::isWriter
: () Проверка, является ли персона сценаристомself::isProducer
: () Проверка, является ли персона продюсеромself::isOperator
: () Проверка, является ли персона операторомself::isDesigner
: () Проверка, является ли персона художникомself::isEditor
: () Проверка, является ли персона монтажеромself::isVoiceActor
: () Проверка, является ли персона актером дубляжаself::isOtherProfession
: () Проверка других профессий персоны
isOperator()
¶
Описание: Проверяет, является ли персона оператором Метод проверяет наличие профессии "оператор" в массиве профессий персоны. Использует строгое сравнение для точного соответствия значения enum PersonProfession::OPERATOR среди всех профессий персоны.
Возвращает: bool true,
если персона является оператором, false в противном случае
См. также:
PersonProfession::OPERATOR
: Константа для профессии оператораself::isActor
: () Проверка, является ли персона актеромself::isDirector
: () Проверка, является ли персона режиссеромself::isWriter
: () Проверка, является ли персона сценаристомself::isProducer
: () Проверка, является ли персона продюсеромself::isComposer
: () Проверка, является ли персона композиторомself::isDesigner
: () Проверка, является ли персона художникомself::isEditor
: () Проверка, является ли персона монтажеромself::isVoiceActor
: () Проверка, является ли персона актером дубляжаself::isOtherProfession
: () Проверка других профессий персоны
isDesigner()
¶
Описание: Проверяет, является ли персона художником (постановщиком) Метод проверяет наличие профессии "художник" в массиве профессий персоны. Использует строгое сравнение для точного соответствия значения enum PersonProfession::DESIGN среди всех профессий персоны.
Возвращает: bool true,
если персона является художником, false в противном случае
См. также:
PersonProfession::DESIGN
: Константа для профессии художникаself::isActor
: () Проверка, является ли персона актеромself::isDirector
: () Проверка, является ли персона режиссеромself::isWriter
: () Проверка, является ли персона сценаристомself::isProducer
: () Проверка, является ли персона продюсеромself::isComposer
: () Проверка, является ли персона композиторомself::isOperator
: () Проверка, является ли персона операторомself::isEditor
: () Проверка, является ли персона монтажеромself::isVoiceActor
: () Проверка, является ли персона актером дубляжаself::isOtherProfession
: () Проверка других профессий персоны
isEditor()
¶
Описание: Проверяет, является ли персона монтажёром Метод проверяет наличие профессии "монтажер" в массиве профессий персоны. Использует строгое сравнение для точного соответствия значения enum PersonProfession::EDITOR среди всех профессий персоны.
Возвращает: bool true,
если персона является монтажёром, false в противном случае
См. также:
PersonProfession::EDITOR
: Константа для профессии монтажёраself::isActor
: () Проверка, является ли персона актеромself::isDirector
: () Проверка, является ли персона режиссеромself::isWriter
: () Проверка, является ли персона сценаристомself::isProducer
: () Проверка, является ли персона продюсеромself::isComposer
: () Проверка, является ли персона композиторомself::isOperator
: () Проверка, является ли персона операторомself::isDesigner
: () Проверка, является ли персона художникомself::isVoiceActor
: () Проверка, является ли персона актером дубляжаself::isOtherProfession
: () Проверка других профессий персоны
isVoiceActor()
¶
Описание: Проверяет, является ли персона актёром дубляжа Метод проверяет наличие профессии "актер дубляжа" в массиве профессий персоны. Использует строгое сравнение для точного соответствия значения enum PersonProfession::VOICE_ACTOR среди всех профессий персоны.
Возвращает: bool true,
если персона является актером дубляжа, false в противном случае
См. также:
PersonProfession::VOICE_ACTOR
: Константа для актёра дубляжаself::isActor
: () Проверка, является ли персона актеромself::isDirector
: () Проверка, является ли персона режиссеромself::isWriter
: () Проверка, является ли персона сценаристомself::isProducer
: () Проверка, является ли персона продюсеромself::isComposer
: () Проверка, является ли персона композиторомself::isOperator
: () Проверка, является ли персона операторомself::isDesigner
: () Проверка, является ли персона художникомself::isEditor
: () Проверка, является ли персона монтажеромself::isOtherProfession
: () Проверка других профессий персоны
isOtherProfession()
¶
Описание: Проверяет, является ли персона иной профессии Метод проверяет наличие профессии "другой" в массиве профессий персоны. Использует строгое сравнение для точного соответствия значения enum PersonProfession::DIRECTOR среди всех профессий персоны.
Возвращает: bool true,
если персона является другой профессии, false в противном случае
См. также:
PersonProfession::DIRECTOR
: Константа для других профессий персоныself::isActor
: () Проверка, является ли персона актеромself::isDirector
: () Проверка, является ли персона режиссеромself::isWriter
: () Проверка, является ли персона сценаристомself::isProducer
: () Проверка, является ли персона продюсеромself::isComposer
: () Проверка, является ли персона композиторомself::isOperator
: () Проверка, является ли персона операторомself::isDesigner
: () Проверка, является ли персона художникомself::isEditor
: () Проверка, является ли персона монтажеромself::isVoiceActor
: () Проверка, является ли персона актером дубляжа
toArray()
¶
Описание: Преобразует объект сущности персоны в массив данных Конвертирует все свойства сущности персоны в ассоциативный массив для сериализации, передачи в API или сохранения в хранилище данных. Метод выполняет безопасное преобразование nullable enum значений в их строковые представления через использование null-safe оператора. Возвращаемый массив содержит как базовые свойства персоны (id, имена, фото), так и дополнительные данные (профессии на русском и английском языках, полученные через соответствующие методы). - id: int - уникальный идентификатор персоны - photo: string|null - URL фотографии персоны - name: string|null - русское имя персоны - enName: string|null - английское имя персоны - profession: array|null - массив объектов профессий персоны - professionRu: array - массив профессий на русском языке - professionEn: array - массив профессий на английском языке - sex: string|null - пол персоны (значение enum или null) - growth: int|null - рост персоны в сантиметрах - birthday: string|null - дата рождения в формате строки - death: string|null - дата смерти в формате строки - age: int|null - возраст персоны в годах - birthPlace: array - массив мест рождения - deathPlace: array - массив мест смерти
С версии: 1.0.0
Возвращает: array<string, mixed>
Ассоциативный массив с данными персоны, содержащий ключи:
См. также:
getBestName
: () Для получения наиболее подходящего имени персоныgetProfessionRu
: () Для получения массива профессий на русском языкеgetProfessionEn
: () Для получения массива профессий на английском языке\KinopoiskDev\Enums\PersonSex
: Enum для значений пола персоны\KinopoiskDev\Enums\PersonProfession
: Enum для значений профессий персоны
getProfessionRu()
¶
Описание: Возвращает профессию персоны на русском языке Предоставляет доступ к названию профессии персоны на русском языке. Может использоваться для отображения профессии в русскоязычном интерфейсе.
Возвращает: array<string>
Название профессии на русском языке или null, если не задано
См. также:
Person::getProfessionEn
: () Для получения профессии на английском языке
getProfessionEn()
¶
Описание: Возвращает профессию персоны на английском языке Предоставляет доступ к профессии персоны в виде enum значения. Может использоваться для программной обработки типа профессии.
Возвращает: array<string> Enum
значение профессии или null, если не задано
См. также:
Person::getProfessionRu
: () Для получения профессии на русском языкеPersonProfession
: Для списка возможных профессий