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原创论坛
Oct 09 PHP
PHP 文件上传源码分析(RFC1867)
Oct 30 PHP
Mysql中分页查询的两个解决方法比较
May 02 PHP
yii实现CheckBox复选框在同一行显示的方法
Dec 03 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
Feb 15 PHP
php项目开发中用到的快速排序算法分析
Jun 25 PHP
微信公众号开发客服接口实例代码
Oct 21 PHP
php使用 readfile() 函数设置文件大小大小的方法
Aug 11 PHP
php 调用百度sms来发送短信的实现示例
Nov 02 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
Oct 17 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 21 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隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
2011/11/02 PHP
控制PHP的输出:缓存并压缩动态页面
2013/06/11 PHP
解析php中curl_multi的应用
2013/07/17 PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
2014/06/09 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
2016/04/11 PHP
php正确输出json数据的实例讲解
2018/08/21 PHP
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
javascript sudoku 数独智力游戏生成代码
2010/03/27 Javascript
javascript学习(二)javascript常见问题总结
2013/01/02 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
如何动态的导入js文件具体该怎么实现
2014/01/14 Javascript
jQuery的ready方法详解
2014/11/27 Javascript
JavaScript的instanceof运算符学习教程
2016/06/08 Javascript
Javascript实现页面滚动时导航智能定位
2017/05/06 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
jQuery/JS监听input输入框值变化实例
2019/10/17 jQuery
简单了解Vue + ElementUI后台管理模板
2020/04/07 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
[51:00]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
面向新手解析python Beautiful Soup基本用法
2020/07/11 Python
Python实现区域填充的示例代码
2021/02/03 Python
PHP中如何创建和修改数组
2012/05/02 面试题
关于Assembly命名空间的三个面试题
2015/07/23 面试题
策划总监岗位职责
2014/02/16 职场文书
巾帼文明岗申报材料
2014/05/01 职场文书
幼儿园家长安全责任书
2014/07/22 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
React列表栏及购物车组件使用详解
2021/06/28 Javascript