errorCode = $errorCode; $this->publicMessage = $publicMessage; } public static function withError(string $errorCode, string $publicMessage, Throwable $prev = null): self { return new self( $errorCode, $publicMessage, sprintf('Authentication verification failed with the public message "%s"', $publicMessage), 0, $prev ); } public function getErrorCode(): string { return $this->errorCode; } public function getPublicMessage(): string { return $this->publicMessage; } }