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操作Access类(PHP+ODBC+Access)
Jan 02 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
Mar 13 PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
Feb 05 PHP
php简单浏览目录内容的实现代码
Jun 07 PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
Mar 17 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
Mar 18 PHP
php array_walk_recursive 使用自定的函数处理数组中的每一个元素
Nov 16 PHP
PHP生成指定范围内的N个不重复的随机数
Mar 18 PHP
laravel框架与其他框架的详细对比
Oct 23 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
Jun 24 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在线打包程序源码
2008/07/27 PHP
php array的学习笔记
2012/05/10 PHP
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
2017/02/06 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
javascript下查找父节点的简单方法
2007/08/13 Javascript
JQuery SELECT单选模拟jQuery.select.js
2009/11/12 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
jQuery中事件对象e的事件冒泡用法示例介绍
2014/04/25 Javascript
JS封装cookie操作函数实例(设置、读取、删除)
2015/11/17 Javascript
EasyUI闪屏EasyUI页面加载提示(原理+代码+效果图)
2016/02/21 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
jQuery插件MovingBoxes实现左右滑动中间放大图片效果
2017/02/28 Javascript
浅谈js for循环输出i为同一值的问题
2017/03/01 Javascript
js调用刷新界面的几种方式
2017/05/03 Javascript
浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预
2017/06/25 Javascript
实例教学如何写vue插件
2017/11/30 Javascript
详解微信小程序审核不通过的解决方法
2018/01/17 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
自我推荐书
2013/12/04 职场文书
大一期末自我鉴定
2013/12/13 职场文书
质量安全标语
2014/06/07 职场文书
ktv周年庆活动方案
2014/08/18 职场文书
清明节扫墓活动总结
2015/02/09 职场文书
2015年度保密工作总结
2015/04/24 职场文书
民事调解协议书
2016/03/21 职场文书
Python+Appium实现自动抢微信红包
2021/05/21 Python