Chris@0: reason = $reason; Chris@0: Chris@0: $message = 'The promise was rejected'; Chris@0: Chris@0: if ($description) { Chris@0: $message .= ' with reason: ' . $description; Chris@0: } elseif (is_string($reason) Chris@0: || (is_object($reason) && method_exists($reason, '__toString')) Chris@0: ) { Chris@0: $message .= ' with reason: ' . $this->reason; Chris@0: } elseif ($reason instanceof \JsonSerializable) { Chris@0: $message .= ' with reason: ' Chris@0: . json_encode($this->reason, JSON_PRETTY_PRINT); Chris@0: } Chris@0: Chris@0: parent::__construct($message); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Returns the rejection reason. Chris@0: * Chris@0: * @return mixed Chris@0: */ Chris@0: public function getReason() Chris@0: { Chris@0: return $this->reason; Chris@0: } Chris@0: }