PHP实现返回JSON和XML的类分享
代码很简洁,功能也很简单实用,这里就不多废话了,直接奉上代码:
<?php
classReponse{
//private$result=array('code'=null,'message'=null,'data'=>null);
/**
*@desc返回JSON格式
*@paramint$code
*@paramstring$message
*@paramarray $data
*returnstring
*/
publicstaticfunctionjson($code,$message=null,$data=array()){
if(!is_numeric($code)){
returnfalse;
}
$result=array(
'code'=>$code,
'message'=>$message,
'data'=>$data
);
returnjson_encode($result);
exit;
}
/**
*@desc返回xml格式数据
*@parmaint$code状态码
*@paramstring$message提示
*@paramarray$data数据
*returnstring
*/
publicstaticfunctionxml($code,$message='',$data=array()){
if(!is_numeric($code)){
returnfalse;
}
$result=array(
'code'=>$code,
'message'=>$message,
'data'=>$data
);
$xml='';
$xml.="<?xmlversion='1.0'encoding='UTF-8'?>\n";
$xml.="<root>\n";
$xml.=self::xmlEncode($result);
$xml.="</root>";
header("Content-Type:text/xml");
echo$xml;
}
publicstaticfunctionxmlEncode($result){
$xml=$attr='';
foreach($resultas$key=>$val){
if(is_numeric($key)){
$attr="id='{$key}'";
$key="item{$key}";
}
$xml.="<{$key}{$attr}>";
$xml.=is_array($val)?self::xmlEncode($val):$val;
$xml.="</{$key}>\n";
}
return$xml;
}
}
$data=array(
'id'=>1,
'age'=>20,
'username'=>'tim',
'others'=>array(1,2,3),
);
Reponse::xml(200,'success',$data);
Reponse::json(200,'success',$data);
小伙伴们可以直接拿去使用,使用方法在代码的最下方:)