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与MySQL开发的8个技巧小结
Dec 17 PHP
php中spl_autoload详解
Oct 17 PHP
Yii框架中memcache用法实例
Dec 03 PHP
php实现Mongodb自定义方式生成自增ID的方法
Mar 23 PHP
php面向对象与面向过程两种方法给图片添加文字水印
Aug 26 PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 PHP
Redis构建分布式锁
Mar 28 PHP
Laravel网站打开速度优化的方法汇总
Jul 16 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
Sep 03 PHP
PHP+redis实现微博的拉模型案例详解
Jul 10 PHP
PHP Primary script unknown 解决方法总结
Aug 22 PHP
Laravel 修改验证异常的响应格式实例代码详解
May 25 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
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
PHP数据库操作二:memcache用法分析
2017/08/16 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
JS解密入门 最终变量劫持
2008/06/25 Javascript
jQuery chili图片远处放大插件
2009/11/30 Javascript
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
深入理解JavaScript是如何实现继承的
2013/12/12 Javascript
js 获取、清空input type=&quot;file&quot;的值(示例代码)
2013/12/24 Javascript
JavaScript和CSS交互的方法汇总
2014/12/02 Javascript
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
2015/02/28 Javascript
在html中引入外部js文件,并调用带参函数的方法
2016/10/31 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
详解基于React.js和Node.js的SSR实现方案
2019/03/21 Javascript
全面分析JavaScript 继承
2019/05/30 Javascript
基于vue、react实现倒计时效果
2019/08/26 Javascript
layui 地区三级联动 form select 渲染的实例
2019/09/27 Javascript
wxpython学习笔记(推荐查看)
2014/06/09 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
Python3随机漫步生成数据并绘制
2018/08/27 Python
python检测IP地址变化并触发事件
2018/12/26 Python
分享PyCharm的几个使用技巧
2019/11/10 Python
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
2020/03/12 Python
TensorFlow打印输出tensor的值
2020/04/19 Python
python如何支持并发方法详解
2020/07/25 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
使用python爬取抖音app视频的实例代码
2020/12/01 Python
微软日本官方网站:Microsoft日本
2017/11/26 全球购物
奢华时尚的独特视角:La Garçonne
2018/06/07 全球购物
个人职业生涯规划书1500字
2013/12/31 职场文书
缓刑人员的思想汇报
2014/01/11 职场文书
爱国卫生月实施方案
2014/02/21 职场文书
投标授权委托书范文
2014/08/02 职场文书
2016父亲节感恩话语
2015/12/09 职场文书
pycharm 如何查看某一函数源码的快捷键
2021/05/12 Python