$this->hasError ? 1 : 0, 'hasWarning' => $this->hasWarning ? 1 : 0, 'warnings' => $this->warnings, 'errors' => $this->errors, ]; } public function __serialize(): array { return $this->toArray(); } public function __unserialize(array $data): void { $this->hasError = (bool)$data['hasError'] ?? false; $this->hasWarning = (bool)$data['hasWarning'] ?? false; $this->warnings = $data['warnings'] ?? []; $this->errors = $data['errors'] ?? []; } public function addError(string $errorCode, string $errorMessage): void { $this->hasError = true; $this->errors[] = [ 'code' => $errorCode, 'message' => $errorMessage, ]; } public function addWarning(string $warningCode, string $warningMessage): void { $this->hasWarning = true; $this->warnings[] = [ 'code' => $warningCode, 'message' => $warningMessage, ]; } }