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

php 封装接口类返回json/xml数据

2017-08-05 15:41 363 查看

php 封装接口类返回json/xml数据

response.php

<?php

class Response {
/*
*按json格式返回数据
*@param int $code 状态码
*@param string $message 提示信息
*@param arrya $data 数据
*return string
*/
public static function getJson($code ,$message = '',$data = array()) {

if(!is_numeric($code)) {
return '';
}

$arr = array(
'code' => $code,
'message' => $message,
'data' => $data
);

echo json_encode($arr);
exit;

}
/*
*按xml格式返回数据
*@param int $code 状态码
*@param string $message 提示信息
*@param arrya $data 数据
*return string
*/
public static function getXml($code,$message = '',$data = array()) {

if(!is_numeric($code)) {
return '';
}

header("Content-Type:text/xml");

$result  = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
$result .= "<root>\n";
$result .= "<code>" . $code . "</code>\n";
$result .= "<message>" . $message . "</message>\n";
$result .= "<data>\n" . self::getData($data) . "</data>\n";
$result .= "</root>";

echo $result;
exit;
}
/*
*将$data转换为xml字符串
*@param arrya $data 数据
*return string
*/
private static function getData($data = array()) {

$str = '';

foreach ($data as $key => $value) {

$s = '';
if(is_numeric($key)) {
$s = " id='" . $key . "'";
$key = "item";

}

$str .= "<" . $key . $s .">";
$str .= is_array($value) ? "\n" . self::getData($value) : $value;
$str .= "</" .$key . ">\n";
}
return $str;
}
}


在test.php中使用

<?php

require_once('./response.php');
$arr = array(
'id'=>'1',
'name'=>'2',
'da' => array(
'a' =>1,
'b' =>2
),
'ca' =>array(12,12)
);
//Response::getjson(12,'1',$arr);
Response::getXml(12,'12',$arr);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: