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通过COM使用ADODB的简单例子
Dec 31 PHP
基于empty函数的输出详解
Jun 17 PHP
PHP实现的封装验证码类详解
Jun 18 PHP
php遍历文件夹下的所有文件和子文件夹示例
Mar 20 PHP
Yii扩展组件编写方法实例分析
Jun 29 PHP
php获取英文姓名首字母的方法
Jul 13 PHP
详解HTTP Cookie状态管理机制
Jan 14 PHP
微信公众平台DEMO(PHP)
May 04 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
Sep 14 PHP
PHP使用curl制作简易百度搜索
Nov 03 PHP
php实现微信支付之现金红包
May 30 PHP
Smarty模板类内部原理实例分析
Jul 03 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
ninety plus是什么?ninety plus咖啡好吗?
2021/03/04 新手入门
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
php+mysqli数据库连接的两种方式
2015/01/28 PHP
php表单提交实例讲解
2015/11/12 PHP
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
2010/01/07 Javascript
JavaScript插入动态样式实现代码
2012/02/22 Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
2012/12/10 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
2014/04/04 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
浅谈JavaScript的Polymer框架中的事件绑定
2015/07/29 Javascript
JS+DIV+CSS实现的经典标签切换效果代码
2015/09/14 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
nodeJS删除文件方法示例
2016/12/25 NodeJs
ES6入门教程之Iterator与for...of循环详解
2017/05/17 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
vue.extend与vue.component的区别和联系
2018/09/19 Javascript
在JS循环中使用async/await的方法
2018/10/12 Javascript
LayUi使用switch开关,动态的去控制它是否被启用的方法
2019/09/21 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
2020/01/16 jQuery
[00:42]《辉夜杯》—职业组预选赛12月3日15点 正式打响
2015/12/03 DOTA
[03:11]TI9战队档案 - Alliance
2019/08/20 DOTA
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
Django处理文件上传File Uploads的实例
2018/05/28 Python
Flask web开发处理POST请求实现(登录案例)
2018/07/26 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
python脚本开机自启的实现方法
2019/06/28 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
Python实现给PDF添加水印的方法
2021/01/25 Python
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
2014年银行员工工作总结
2014/11/12 职场文书
导游词400字
2015/02/13 职场文书
解决Pytorch中关于model.eval的问题
2021/05/22 Python