/** * @param string $xmlString * @return Scalr_Messaging_Msg */ function unserialize($jsonString) { $msg = @json_decode($jsonString); $ref = new ReflectionClass(Scalr_Messaging_Msg::getClassForName($msg->name)); $retval = $ref->newInstance(); $retval->messageId = "{$msg->id}"; $retval->meta = (array) $msg->meta; $this->walkSerialize($msg->body, $retval, 'camelCase'); return $retval; }
/** * @param string $xmlString * @return Scalr_Messaging_Msg */ function unserialize($xmlString) { $xml = simplexml_load_string($xmlString); if (!$xml) { throw new Exception('Cannot load XML string: ' . $xmlString); } $ref = new ReflectionClass(Scalr_Messaging_Msg::getClassForName($xml->attributes()->name)); $msg = $ref->newInstance(); $msg->messageId = "{$xml->attributes()->id}"; foreach ($xml->meta->children() as $el) { $msg->meta["{$el->getName()}"] = "{$el}"; } foreach ($xml->body->children() as $el) { $msg->{$this->camelCase("{$el->getName()}")} = $this->walkUnserialize($el); } return $msg; }