*/ final class AllResponseItem { private $id; private $event; private $totalCount; private $tags; private $createdAt; public static function create(array $data): self { $model = new self(); $model->id = $data['id'] ?? null; $model->event = $data['event'] ?? null; $model->totalCount = (int) ($data['total_count'] ?? 0); $model->tags = $data['tags'] ?? []; $model->createdAt = isset($data['created_at']) ? new \DateTimeImmutable($data['created_at']) : null; return $model; } private function __construct() { } public function getId(): ?string { return $this->id; } public function getEvent(): ?string { return $this->event; } public function getTotalCount(): int { return $this->totalCount; } /** * @return string[] */ public function getTags(): array { return $this->tags; } public function getCreatedAt(): ?\DateTimeImmutable { return $this->createdAt; } }