1. <?php
    Class Response
    {
    //返回数据
    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接口
    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接口
    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内容循环
    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);

php封装一个接口类的更多相关文章

  1. 使用libzplay库封装一个音频类

    装载请说明原地址,谢谢~~      前两天我已经封装好一个duilib中使用的webkit内核的浏览器控件和一个基于vlc的用于播放视频的视频控件,这两个控件可以分别用在放酷狗播放器的乐库功能和MV ...

  2. 1.使用C++封装一个链表类LinkList

     使用C++封装一个链表类LinkList.写出相应一个测试用例 链表需要提供 添加 修改删除 除重 合并 排序创建 销毁等接口. 不能调用库函数或者使用STL等类库 题目延伸********** ...

  3. 使用Java封装一个DBUtils类(反射)

    刚开始学JavaWeb时,我是调用N个setter方法将从数据库中查询出的数据封装成JavaBean的,极其繁琐. 后来了解SpringJDBC后,发现它提供的接口非常简单,然后就想自己封装一个简单的 ...

  4. Swift - 简单封装一个工具类模板

    创建模板类(封装一个类) 例1:新建一个名字叫做 Product 的类 Product.swift File 的内容 class Product { var name: String var desc ...

  5. C++:如何正确的定义一个接口类

    C++中如何定义接口类?首先给接口类下了定义:接口类应该是只提供方法声明,而自身不提供方法定义的抽象类.接口类自身不能实例化,接口类的方法定义/实现只能由接口类的子类来完成. 而对于C++,其接口类一 ...

  6. 封装一个帮助类来写文件到android外置存储器上

    项目地址:点击打开 项目简介:写文件到android外置存储器的一个帮助类,和它的demo程序 它是如何工作的呢? 1.创建 AppExternalFileWriter 对象并传递context(上下 ...

  7. 使用AutoFac实现依赖注入(封装一个注册类)

    public class AutoFacBootStrapper { public static void CoreAutoFacInit() { var builder = new Containe ...

  8. 封装一个mysql类(ggshop)

    接口 abstract class db{ //连接服务器 public abstract function connect($n,$u,$p); //发送查询 protected abstract ...

  9. 封装一个 员工类 使用preparedStatement 查询数据 (2) 使用 arrayList 集合

    创建 员工=类生成 有参构造 get set 方法 toString 方法 package cn.hph; public class emp1 { //创建员工类的属性 private int id; ...

随机推荐

  1. 如何禁用AD OU 下面的邮箱用户的Exchange ActiveSync 和 适用于设备的OWA

    Get-Mailbox -OrganizationalUnit QQ禁用名单 | Set-CASMailbox  -ActiveSyncEnabled $false -OWAforDevicesEna ...

  2. ROS大型工程学习(一) 必须了解的基本文件

    一.Cmake文件 阅读工程,首先点开CMakeLists 文件,会定义一些库和可执行文件.首先看可执行文件,rosrun的就是这个节点navigator add_executable(navigat ...

  3. springboot#interceptor

    _ 拦截器相对与过滤器Filter 而言,拦截器是spring中的概念.过滤器是servlet中的概念.在spring中肯定是优先使用拦截器Interceptor的. public class My1 ...

  4. JDK源码阅读-------自学笔记(一)(java.lang.Object重写toString源码)

    一.前景提要 Object类中定义有public String toString()方法,其返回值是 String 类型. 二.默认返回组成 类名+@+16进制的hashcode,当使用打印方法打印的 ...

  5. pandas中na_values与keep_default_na

    我们在使用pandas读取文件时,常会遇到某个字段为NaN. 一般情况下,这时因为文件中包含空值导致的,因为pandas默认会将 '-1.#IND', '1.#QNAN', '1.#IND', '-1 ...

  6. 八十九、SAP中ALV事件之三,查看事件自带说明

    一.双击REUSE_ALV_GRID_DISPLAY,来到SE37的这个函数模块中,查看IT_EVENT的相关说明,点击后面的显示按钮 二.翻译第一句 三.翻译第二句 四.翻译第三句 五.翻译第四句 ...

  7. 042-PHP使用闭包函数递归无限级分类

    <?php //使用闭包函数递归无限级分类 function demo($array){ # 用于存储递归后的队列 $data = []; # 递归函数 $func = function (&a ...

  8. Java对象序列化输入输出

    在网上看到一篇有关于对象序列化的代码,自己仿着写了把 在Java中,entity通过implements Serializable,然后使用ObjectInputStream和ObjectOutput ...

  9. hashCode equals hashSet

    基于hash的map也是这种机制. HashSet import java.util.HashSet; import java.util.Set; import java.util.TreeSet; ...

  10. POJ 2104 求序列里第K大 主席树裸题

    给定一个n的序列,有m个询问 每次询问求l-r 里面第k大的数字是什么 只有询问,没有修改 可以用归并树和划分树(我都没学过..囧) 我是专门冲着弄主席树来的 对主席树的建树方式有点了解了,不过这题为 ...