php自定义类返回json和xml数据的方法

发布时间:2020-04-05编辑:脚本学堂
分享一个返回json与xml数据的php类,php自定义类返回json或xml,简单易用,需要的朋友参考下。

php实现返回json和xml的类

例子:
 

复制代码 代码示例:
<?php
class Reponse{
//private $result = array('code'=null,'message'=null,'data'=>null);
/**
 * @desc 返回JSON格式
 * @param int $code
 * @param string $message
 * @param array  $data
 * return string
 */
public static function json($code,$message = null,$data = array()){
if(!is_numeric($code)){
return false;
}
$result = array(
'code'=>$code,
'message'=>$message,
'data'=>$data
);
return json_encode($result);
exit;
}
/**
 * @desc 返回xml格式数据
 * @parma int $code 状态码
 * @param string $message 提示
 * @param array $data 数据
 * return string
 */
 public static function xml($code,$message = '',$data = array()){
if(!is_numeric($code)){
return false;
}
$result = array(
'code'=>$code,
'message'=>$message,
'data'=>$data
);
$xml = '';
$xml .= "<?xml version='1.0' encoding='UTF-8'?>n";
$xml .= "<root>n";
$xml .= self::xmlEncode($result);
$xml .= "</root>";
header("Content-Type:text/xml");
echo $xml;
 }
 public static function xmlEncode($result){
$xml = $attr ='';
foreach($result as $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);