protected function encode($cmd, $root = 'request')
{
switch ($this->encoding) {
default:
case self::ENC_RAW:
//void
break;
case self::ENC_SERIALIZE:
$cmd = serialize($cmd);
break;
case self::ENC_XML:
try {
$cmd = Array2XML::createXML($root, $cmd)->saveXML();
} catch (Exception $e) {
throw new Exception('Could not encode XML: ' . print_r($cmd));
}
break;
case self::ENC_JSON:
$cmd = json_encode($cmd);
break;
}
//add encoding type
$cmd = chr($this->encoding) . $cmd;
return $cmd;
}