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 相关文章推荐
QueryPath PHP 中的jQuery
Apr 11 PHP
php imagecreatetruecolor 创建高清和透明图片代码小结
May 15 PHP
Zend Framework中的简单工厂模式 图文
Jul 10 PHP
php字符串分割函数explode的实例代码
Feb 07 PHP
php获取中文拼音首字母类和函数分享
Apr 24 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
Jul 08 PHP
详解WordPress开发中get_header()获取头部函数的用法
Jan 08 PHP
深入讲解PHP的Yii框架中的属性(Property)
Mar 18 PHP
实现PHP搜索加分页
Oct 12 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
Nov 14 PHP
thinkphp整合系列之极验滑动验证码geetest功能
Jun 18 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 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 获取SWF动画截图示例代码
2014/02/10 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
比较简单的异步加载JS文件的代码
2009/07/18 Javascript
Javascript this 的一些学习总结
2012/08/02 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
jquery中change()用法实例分析
2015/02/06 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
基于JS2Image实现圣诞树代码
2015/12/24 Javascript
JavaScript面向对象之私有静态变量实例分析
2016/01/14 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
H5实现中奖记录逐行滚动切换效果
2017/03/13 Javascript
jQuery操作DOM_动力节点Java学院整理
2017/07/04 jQuery
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
Vue.js 2.5新特性介绍(推荐)
2017/10/24 Javascript
js replace 全局替换的操作方法
2018/06/12 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
利用d3.js实现蜂巢图表带动画效果
2019/09/03 Javascript
python实现代理服务功能实例
2013/11/15 Python
在Python程序中操作文件之isatty()方法的使用教程
2015/05/24 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
pyside+pyqt实现鼠标右键菜单功能
2020/12/08 Python
pytorch模型存储的2种实现方法
2020/02/14 Python
美国价格实惠的在线眼镜网站:Zeelool
2020/12/25 全球购物
2014年寒假社会实践活动心得体会
2014/04/07 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
商场父亲节活动方案
2014/08/27 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
基石观后感
2015/06/12 职场文书
react合成事件与原生事件的相关理解
2021/05/13 Javascript
Python线程池与GIL全局锁实现抽奖小案例
2022/04/13 Python