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. leetcode617 Merge Two Binary Trees

    """ Given two binary trees and imagine that when you put one of them to cover the oth ...

  2. 机器学习-liuyubobobo(慕课网)

    第一章 python3玩转机器学习 第二章 机器学习基础 安装:1.anaconda   2.pycharm 第三章 Jupyter Notebook,numpy,Matplotlib 1.jupyt ...

  3. JavaScript中的apply()方法和call()

    apply()和call()的真正用武之地是能够扩充函数赖以运行的作用域   两个函数的第一个参数是都是,要执行语句的作业域,即this 区别是 apply后面只能传一个大参数,call后面参数只能一 ...

  4. mapper.xml实现oracle的分页语句

    当我们用常规方法进行分页查询时,虽然在数据库可以分页查询出来数据, 如下语句 <!-- 分页查询所有 --> <select id="findAllPage" r ...

  5. Emacs服务器模式以及emacsclient配置

    Emacs有很多强大的插件,但是插件安装多了会导致启动速度很慢.为了解决这个问题,一个方法是使用emacs提供的server模式. 基本用法[1] 启动emacs server: $ emacs -- ...

  6. 001、JAVA开发环境安装与eclipse软件第一印象

    折腾了快1个星期,一直没有成功装好JAVA环境,eclipse一直打不开,java环境配置的问题真是不得不吐槽一下,太烂了.今天反反复复折腾好久,终于搞定了.用的金山毒霸,方法如下: 一.打开金山毒霸 ...

  7. 121-PHP类成员函数(二)

    <?php class ren{ //定义人类 const name='ren'; public function classname(){ echo '这个类的名称:'.self::name; ...

  8. 113-PHP使用instanceof判断变量是否为某个类对象

    <?php class ren{ //定义人类 } class mao{ //定义猫类 } $ren=new ren(); //实例化一个人类的对象 $mao=new mao(); //实例化一 ...

  9. 065-PHP函数中声明全局变量

    <?php function test(){ //定义函数 global $a; //声明全局变量 $a=7; echo "函数内: ".$a . "<br& ...

  10. Node.js NPM 管理包

    章节 Node.js NPM 介绍 Node.js NPM 作用 Node.js NPM 包(Package) Node.js NPM 管理包 Node.js NPM Package.json 根据安 ...