/** * {@inheritdoc} * * @return Message */ public function deserialize($data, array $options = []) { if (!is_array($data)) { $data = json_decode($data, true); if (JSON_ERROR_NONE !== json_last_error()) { throw new DeserializeMessageFailed($this->getLastErrorMessage()); } } return parent::deserialize($data, $options); }
/** * {@inheritdoc} * * @return Message */ public function deserialize($data, array $options = []) { if (!is_array($data)) { try { $data = Yaml::parse($data); } catch (\Exception $e) { throw new DeserializeMessageFailed($e->getMessage(), 0, $e); } } return parent::deserialize($data, $options); }
/** * {@inheritdoc} * @return static */ public static final function fromArray(array $data = []) { if (null === self::$serializer) { self::$serializer = new PhpArraySerializer(); } if (!isset($data[Schema::PBJ_FIELD_NAME])) { $data[Schema::PBJ_FIELD_NAME] = static::schema()->getId()->toString(); } $message = self::$serializer->deserialize($data); return $message; }