version; } public function setVersion(int $version): void { $this->version = $version; } public function isEnabled(): bool { return $this->enabled; } public function setEnabled(bool $enabled): void { $this->enabled = $enabled; } public function getStart(): ?DateTimeImmutable { return $this->start; } public function setStart(?DateTimeImmutable $start): void { $this->start = $start; } public function getEnd(): ?DateTimeImmutable { return $this->end; } public function setEnd(?DateTimeImmutable $end): void { $this->end = $end; } public function getSubject(): string { return $this->subject; } public function setSubject(string $subject): void { $this->subject = $subject; } public function getMessage(): string { return $this->message; } public function setMessage(string $message): void { $this->message = $message; } #[\Override] #[ReturnTypeWillChange] public function jsonSerialize() { $json = [ 'version' => $this->getVersion(), 'enabled' => $this->isEnabled(), ]; $start = $this->getStart(); if ($start) { $json['start'] = $start->format('c'); } $end = $this->getEnd(); if ($end) { $json['end'] = $end->format('c'); } $json['subject'] = $this->getSubject(); $json['message'] = $this->getMessage(); return $json; } }