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);
小伙伴们可以直接拿去使用,使用方法在代码的最下方:)