您的位置:首页 > 编程语言 > PHP开发

PHP实现返回JSON和XML的类分享

2016-03-15 15:34 232 查看

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: