標籤:
總體類
<?phpclass Response{const JSON=‘json‘;?>
Json資料處理
/***json format data*@param integer $code status code*@param string $message message data*@param array $data*return string*/public static function jsonEncode($code,$message=‘‘,$data=array()){if (!is_numeric($code)) {return ‘‘;}$result=array(‘code‘=>$code,‘message‘=>$message,‘data‘=>$data);echo json_encode($result);exit();}
XML資料處理
/***xml format data*@param integer $code status code*@param string $message message data*@param arrat $data*return string*/public static function xmlEncode($code,$message,$data=array()){if (!is_numeric($code)) {return ‘‘;}$result=array(‘code‘=>$code,‘message‘=>$message,‘data‘=>$data);header("Content-Type:text/xml");$xml="<?xml version=‘1.0‘ encoding=‘UTF-8‘?>\n";$xml.="<root>\n";$xml.=self::xmlToEncode($result);$xml.="</root>";echo $xml;}
public static function xmlToEncode($data){$xml="";$attr="";foreach ($data as $key => $value) {if (is_numeric($key)) {$attr=" id=‘{$key}‘";$key="item";}$xml.="<{$key}{$attr}>";$xml.=is_array($value)?self::xmlToEncode($value):$value;$xml.="</{$key}>\n";}return $xml;}
XML-JSON混合資料處理
/***xml/json format data*@param integer $code status code*@param string $message message data*@param arrat $data*@param string $type data type*return string*/public static function show($code,$message,$data=array(),$type=self::JSON){if (!is_numeric($code)){return ‘‘;}$type=isset($_GET[‘format‘])?$_GET[‘format‘]:self::JSON;$result=array(‘code‘=>$code,‘message‘=>$message,‘data‘=>$data);if($type==‘json‘){self::jsonEncode($code,$message,$data);}elseif($type==‘xml‘){self::xmlEncode($code,$message,$data);}else{self::jsonEncode($code,$message,$data);}}
測試調用
$data=array(‘id‘=>1,‘bane‘=>‘valentine‘,‘type‘=>array(4,5,6));Response::show(200,‘success‘,$data);
PHP介面開發XML/JSON資料通訊類