validation = $validation; } /** * Render message. * * @return string * * @since 1.0.0 */ public function __serialize() : string { return \json_encode($this->toArray()); } /** * {@inheritdoc} */ public function jsonSerialize() : mixed { return $this->toArray(); } /** * {@inheritdoc} */ public function __unserialize($raw) : void { $unserialized = \json_decode($raw, true); $this->validation = $unserialized['validation'] ?? []; } /** * Stringify. * * @return string * * @since 1.0.0 */ public function __toString() { return (string) \json_encode($this->toArray()); } /** * Generate message array. * * @return array * * @since 1.0.0 */ public function toArray() : array { return [ 'type' => self::TYPE, 'validation' => $this->validation, ]; } }