ProductionStatus - это перечисление статусов производства контента в Kinopoisk API. Определяет различные этапы производственного процесса фильмов и сериалов, от анонса до завершения.
use NotKinopoisk\Enums\ProductionStatus;$status = ProductionStatus::COMPLETED;if ($status->isFinished()) { echo "Производство завершено, можно смотреть";} else { echo "Производство еще не завершено";}
use NotKinopoisk\Enums\ProductionStatus;$status = ProductionStatus::FILMING;if ($status->inProduction()) { echo "Проект активно разрабатывается";} else { echo "Проект либо завершен, либо только анонсирован";}
// Значения в порядке возрастанияANNOUNCED < UNKNOWN < PRE_PRODUCTION < FILMING < POST_PRODUCTION < COMPLETED// Метод возвращает true для COMPLETED и всех статусов "выше"
use NotKinopoisk\Enums\ProductionStatus;use NotKinopoisk\Models\Film;// Создание фильма с определенным статусом$film = new Film( kinopoiskId: 123, nameRu: 'Новый фильм', productionStatus: ProductionStatus::FILMING);// Проверка статусаif ($film->productionStatus->inProduction()) { echo "Фильм '{$film->nameRu}' находится в производстве";}if ($film->productionStatus->isFinished()) { echo "Фильм '{$film->nameRu}' готов к показу";}
<?phprequire_once'vendor/autoload.php';useNotKinopoisk\Enums\ProductionStatus;// Создание статуса производства$status=ProductionStatus::FILMING;// Получение информацииecho"Значение: {$status->value}\n";echo"Название: {$status->getDisplayName()}\n";echo"В производстве: ".($status->inProduction()?'Да':'Нет')."\n";echo"Завершено: ".($status->isFinished()?'Да':'Нет')."\n";// Сравнениеif($status===ProductionStatus::FILMING){echo"Это статус съемок\n";}// Использование в массиве$statuses=[ProductionStatus::ANNOUNCED,ProductionStatus::FILMING,ProductionStatus::COMPLETED];echo"Статусы производства:\n";foreach($statusesas$s){echo"- {$s->getDisplayName()}\n";}// Фильтрация по статусам$activeProjects=array_filter($statuses,fn($s)=>$s->inProduction());$finishedProjects=array_filter($statuses,fn($s)=>$s->isFinished());echo"Активные проекты: ".count($activeProjects)."\n";echo"Завершенные проекты: ".count($finishedProjects)."\n";// Проверка статуса$checkStatus='COMPLETED';$foundStatus=ProductionStatus::tryFrom($checkStatus);if($foundStatus){echo"Найден статус: {$foundStatus->getDisplayName()}\n";}else{echo"Статус '{$checkStatus}' не найден\n";}