PHP实现返回JSON和XML的类分享


Posted in PHP onJanuary 28, 2015

代码很简洁,功能也很简单实用,这里就不多废话了,直接奉上代码:

<?php

    class Reponse{

        //private $result = array('code'=null,'message'=null,'data'=>null);

        /**

         * @desc 返回JSON格式

         * @param int $code 

         * @param string $message 

         * @param array  $data

         * return string

         */

        public static function json($code,$message = null,$data = array()){

            if(!is_numeric($code)){

                return false;

            }

            $result = array(

                'code'=>$code,

                'message'=>$message,

                'data'=>$data

            );

            return json_encode($result);

            exit;

        }

        /**

         * @desc 返回xml格式数据

         * @parma int $code 状态码

         * @param string $message 提示

         * @param array $data 数据

         * return string 

         */

         public static function xml($code,$message = '',$data = array()){

            if(!is_numeric($code)){

                return false;

            }

            $result = array(

                'code'=>$code,

                'message'=>$message,

                'data'=>$data

            );

            $xml = '';

            $xml .= "<?xml version='1.0' encoding='UTF-8'?>\n";

            $xml .= "<root>\n";

            $xml .= self::xmlEncode($result);

            $xml .= "</root>";

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

            echo $xml;

         }

         public static function xmlEncode($result){

            $xml = $attr ='';

            foreach($result as $key=>$val){

                if(is_numeric($key)){

                    $attr = "id='{$key}'";

                    $key = "item{$key}";

                }

                $xml .= "<{$key} {$attr}>";

                $xml .= is_array($val) ? self::xmlEncode($val) : $val;

                $xml .= "</{$key}>\n";

            }

            return $xml;

         }

    }

    $data = array(

        'id'=>1,

        'age'=>20,

        'username'=>'tim',

        'others'=>array(1,2,3),

    );

    Reponse::xml(200,'success',$data);

    Reponse::json(200,'success',$data);

小伙伴们可以直接拿去使用,使用方法在代码的最下方:)

PHP 相关文章推荐
php的access操作类
Apr 09 PHP
PHP在字符串中查找指定字符串并删除的代码
Oct 02 PHP
php 模拟POST|GET操作实现代码
Jul 20 PHP
php whois查询API制作方法
Jun 23 PHP
php根据年月获取季度的方法
Mar 31 PHP
在PHP中运行Linux命令并启动SSH服务的例子
Jun 12 PHP
php微信开发自定义菜单
Aug 27 PHP
PHP模糊查询的实现方法(推荐)
Sep 06 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
Mar 28 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 PHP
ThinkPHP5 验证器的具体使用
May 31 PHP
微信企业转账之入口类分装php代码
Oct 01 PHP
PHP实现的下载远程图片自定义函数分享
Jan 28 #PHP
php+mysqli实现将数据库中一张表信息打印到表格里的方法
Jan 28 #PHP
php+mysqli使用预处理技术进行数据库查询的方法
Jan 28 #PHP
php中使用session防止用户非法登录后台的方法
Jan 27 #PHP
php中session与cookie的比较
Jan 27 #PHP
php实现session自定义会话处理器的方法
Jan 27 #PHP
php实现检查文章是否被百度收录
Jan 27 #PHP
You might like
PHP使用strstr()函数获取指定字符串后所有字符的方法
2016/01/07 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
php实现计算百度地图坐标之间距离的方法
2016/05/05 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
实现变速回到顶部的JavaScript代码
2011/05/09 Javascript
Prototype源码浅析 String部分(三)之HTML字符串处理
2012/01/15 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
js获取select选中的option的text示例代码
2013/12/19 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
页面js遇到乱码问题的解决方法是和无法转码的情况
2014/04/30 Javascript
JavaScript中的console.trace()函数介绍
2014/12/29 Javascript
浅谈jquery拼接字符串效率比较高的方法
2017/02/22 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
解决VUEX刷新的时候出现数据消失
2017/07/03 Javascript
Vue的Flux框架之Vuex状态管理器
2017/07/30 Javascript
JavaScript实现简单的双色球(实例讲解)
2017/07/31 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
vue服务端渲染的实例代码
2017/08/28 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
[01:04]DOTA2:伟大的Roshan雕塑震撼来临
2015/01/30 DOTA
Python判断文件或文件夹是否存在的三种方法
2017/07/27 Python
python实现将一个数组逆序输出的方法
2018/06/25 Python
通过pykafka接收Kafka消息队列的方法
2018/12/27 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
Python语言异常处理测试过程解析
2020/01/08 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
使用numpngw和matplotlib生成png动画的示例代码
2021/01/24 Python
CSS3 3D旋转rotate效果实例介绍
2016/05/03 HTML / CSS
Hunkemöller瑞士网上商店:欧洲最大的内衣品牌之一
2018/12/03 全球购物
餐饮部总监岗位职责范文
2014/02/13 职场文书
python 调用js的四种方式
2021/04/11 Python
Python实现机器学习算法的分类
2021/06/03 Python