<?php
Class Response
{

/**
* 返回json数据
* @param $code 状态码
* @param $message 描述信息
* @param $data 数据
* @param $type 类型
* @param $callback 回调函数
**/
public static function show($code,$message=”,$data=”,$type = ‘json’,$callback=”)
{
if($type==’json’)
{
echo self::jsonEncode($code,$message,$data);
}elseif($type == ‘xml’)
{
echo self::xmlEncode($code,$message,$data);
}elseif($type == ‘jsonp’)
{
echo $callback.'(‘.self::jsonEncode($code,$message,$data).’)’;
}

}

/**
* 返回json数据
* @param $code 状态码
* @param $message 描述信息
* @param $data 数据
*
**/
public static function jsonEncode($code,$message=”,$data=”)
{
if(!is_numeric($code))
{
return ”;
}

$result = array(
‘code’ => $code,
‘message’ => $message,
‘data’ => $data,
);
header(“Content-type:text/json;chaset=utf-8″);
return json_encode($result);
}
/**
* 返回XML数据
* @param $code 状态码
* @param $message 描述信息
* @param $data 数据
*
**/
public static function xmlEncode($code,$message,$data=array())
{
if(!is_numeric($code))
{
return ”;
}

$result = array(
‘code’ => $code,
‘message’ => $message,
‘data’ => $data,
);

header(“Content-type:text/xml;chaset=utf-8”);
$xml = “<?xml version=’1.0′ encoding=’utf-8′ ?>\n”;
$xml .= “<root>\n”;
$xml .= self::xmlToEncode($result);
$xml .= “</root>\n”;

return $xml;

}

/**
* XML内容循环
* @param $data 数据
*
**/
public static function xmlToEncode($data)
{
if(empty($data))
{
return ”;
}
$xml = $attr = ”;
foreach ($data as $key => $value)
{
if(is_numeric($key))
{
$attr = “id='{$key}'”;
$key = “item”;
}
$xml .= “<{$key} {$attr}>”;
$xml .= is_array($value) ? self::xmlToEncode($value) : $value ;
$xml .= “</{$key}>\n”;
}

return $xml;
}
}

//二维数据
$type = isset($_GET[‘type’])? $_GET[‘type’] : ‘json’;
$callback = isset($_GET[‘callback’])? $_GET[‘callback’] : ”;

$arr = array(
‘id’=>1,
‘name’=>’jia’,
‘type’=>array(1,2,3)
);
// 状态码 描述信息 数据 类型 回调函数
Response::show(200,’数据返回成功’,$arr,$type,$callback);

最新文章

  1. Groovy中文教程(链接收藏)
  2. 1215 spring 3 项目更新
  3. 如何将cmd中命令输出保存为TXT文本文件
  4. Controller接口
  5. Redis实战之征服 Redis + Jedis + Spring (一)
  6. 爆牙齿的 Web 标准面试题 【转藏】
  7. struts2+jsp+jquery+Jcrop实现图片裁剪并上传
  8. 使用Oracle BBED修改Oracle11g数据库实例名称
  9. Git:fatal: Authentication failed
  10. SqlAlchenmy基本使用
  11. CMD 命令1
  12. for循环实例2
  13. Oracle绝对值函数
  14. [转]Oracle trunc()函数的用法
  15. web_submit_data详解
  16. 【java读书笔记】JSTL,高速精通
  17. JVM性能监控
  18. PeekMessage、GetMessage的区别
  19. 免费申请 WebStorm 使用许可 - free JetBrains Open Source license(s)
  20. Angular ng-include 学习实例

热门文章

  1. nginx后端节点健康检查
  2. 取消Ubuntu18.04开机输入密码登录
  3. 16节实用性爆棚的Ps课:零基础秒上手,让你省钱也赚钱
  4. hdu1829A Bug&#39;s Life(种类并查集)
  5. ffmpeg——关于视频压缩
  6. Spring集成Kafka-注解,xml配置2种方式实现
  7. react-native初体验(2) — 认识路由
  8. 绝对干货!初学者也能看懂的DPDK解析
  9. python—多任务版udp聊天机器人
  10. docker pull下来的镜像放哪儿了?