<?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);

APP接口的更多相关文章

  1. APP接口自动化测试JAVA+TestNG(一)之框架环境搭建

    前言 好久不曾写点啥,去年换到新公司组测试团队与培养建设花费大量时间与精力,终于架构成型与稳定有时间可以打打酱油了.很久没有总结点啥,提笔想写的内容太多,先放APP接口自动化的内容吧,这个估计大家比较 ...

  2. 关于APP接口设计(转)

    最近一段时间一直在做APP接口,总结一下APP接口开发过程中的注意事项: 1.效率:接口访问速度 APP有别于WEB服务,对服务器端要求是比较严格的,在移动端有限的带宽条件下,要求接口响应速度要快,所 ...

  3. 《PHP开发APP接口》笔记

    PHP开发APP接口 [TOC] 课程地址 imooc PHP开发APP接口 学习要点 APP接口简介 封装通信接口方法 核心技术 APP接口实例 服务器端 -> 数据库|缓存 -> 调用 ...

  4. Fiddler抓包测试App接口

    Fiddler抓包测试App接口 使用Fiddler对手机App应用进行抓包,可以对App接口进行测试,也可以了解App传输中流量使用及请求响应情况,从而测试数据传输过程中流量使用的是否合理. 抓包过 ...

  5. APP 接口开发及读取静态缓存

    <?php /** * Description: App 接口 * Create date:2015-10-19 13:36 * Author: zhaoyingnan **/ class Re ...

  6. 关于APP接口设计

    最近一段时间一直在做APP接口,总结一下APP接口开发过程中的注意事项: 1.效率:接口访问速度 APP有别于WEB服务,对服务器端要求是比较严格的,在移动端有限的带宽条件下,要求接口响应速度要快,所 ...

  7. 【转】基于laravel制作APP接口(API)

    这篇文章主要介绍了基于laravel制作APP接口(API)的相关资料,需要的朋友可以参考下 前期准备 前言,为什么做以及要做个啥本人姓小名白,不折不扣编程届小白一名,但是自从大一那会儿接触到编程这件 ...

  8. App接口设计

    关于APP接口设计 http://blog.csdn.net/gebitan505/article/details/37924711/

  9. APP接口版本兼容的问题

    现在基本每个公司都做APP,所以大家都面临 APP接口版本兼容的问题. iOS和android 要不断开发新版本,很多服务端开发都是在以前接口的逻辑上进行修改.新的APP和接口开发后,接口如何兼容老的 ...

  10. 关于PHP写APP接口的安全问题探讨(一)

    在探讨这个问题之前,先要确认一点的是,作为一名互联网Coder,无论你是前端或者后端你都要对http请求要有一定的了解,知道http特性,要清楚的了解http里面的Request与Response是什 ...

随机推荐

  1. 6 开发工具IDE-pycharm

    http://www.cnblogs.com/sean-yao/p/8321034.html 激活码:http://blog.csdn.net/qq_39248703/article/details/ ...

  2. 沧桑巨变中焕发青春活力-记极1s HC5661A 打怪升级之路

    最近发现一个新货umaxhosting年付10美元的便宜VPS.2杯喜茶的价格可以让你在国外拥有一个1024MB (1GB) DDR3 RAM.1024MB (1GB) vSwap.70GB RAID ...

  3. Centos6.8配置JDK

    下载jdk-版本号.tar.gz 解压到/usr/local/ vi /etc/profile 最后一行添加如下内容: export JAVA_HOME=/usr/local/jdk-版本号expor ...

  4. Android Dalvik虚拟机初识

    摘自:http://blog.csdn.net/andyxm/article/details/6126907 首先,让我们来思考下面几个问题: 什么是Dalvik虚拟机? Dalvik VM与JVM有 ...

  5. ofo容器pass架构分享

    一.我们先要了解一下,为什么企业需要一个paas平台?或者可以说paas到底能做什么? 1.1 我们先来了解一下paas到底是什么? PaaS是Platform-as-a-Service的缩写,意思是 ...

  6. python-分叉树枝

    import turtle def draw_branch(length): #绘制右侧树枝 if length >5: if length == 10: turtle.pencolor('gr ...

  7. mpstat命令详解

    基础命令学习目录首页 原文链接:https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858775.html 简介 mpstat是Multipro ...

  8. Beta版发布 - 感谢有你们

    在本次Beta版开发的过程中,很感谢组长王航对我的信任,让我统筹大家的工作任务和进度,使我对项目管理有了深刻的理解. 我也要感谢邹双黛,在beta版开发中因为邹双黛的帮助,我对于文字类工作已经越来越得 ...

  9. js循环复制一个div

    <html> <head> <title>Test of cloneNode Method</title> <script type=" ...

  10. WebService有什么用?

    入门之前先简单介绍下WCF.在用WebService做开发时,很多人都不知道WCF和WebService之间的关系.实际上WCF包含了WebService,这是一个很强悍的通信技术应用框架.微软把.N ...