04 json,xml混合封装通信

时间:2023-03-09 08:02:03
04 json,xml混合封装通信
<?php

class Response_json_xml{

   public static function show($code,$message="",$data=array(),$type){
if(is_null($code)){
return '';
}
$data=array(
'code'=>$code,
'message'=>$message,
'data'=>$data
);
if($type=="json"){ self::json($code,$message,$data);die; }else if($type=="array"){ var_dump($data);die; }elseif($type=="xml"){ self::xml_encoding($code,$message,$data);die; }else{ //coding....
} }
/**
*按json方式输出通信
*@param integet $code 状态码
*@param string $message 提示信息
*@param array $data 数据
* return string
*/
public static function json($code,$message,$data=array()){ if(is_null($code)){
return '';
}
$result=array(
'code'=>$code,
'message'=>$message,
'data'=>$data
); echo json_encode($result);
die; }
/**
*按xml方式输出通信
*@param integet $code 状态码
*@param string $message 提示信息
*@param array $data 数据
* return string
*/
public static function xml_encoding($code,$message,$data=array()){ if(is_null($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::xml_array($result);
$xml.="</root>\n";
echo $xml; }
public static function xml_array($result){
$xml=$attr="";
foreach ($result as $key => $value) {
if(is_numeric($key)){
$attr=" id='{$key}'";
$key="item";
}
$xml.="<{$key}{$attr}>\n";
$xml.=is_array($value)?self::xml_array($value):$value;
$xml.="</{$key}>\n";
}
return $xml;
} }
$data=array(
'id'=>1,
'name'=>'hgj123',
);
$data1=array(1,2,3,11,122);
$type=isset($_GET['type'])?$_GET['type']:'json';
Response_json_xml::show(200,'成功',$data,$type);