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 相关文章推荐
967 个函式
Oct 09 PHP
PHP用户指南-cookies部分
Oct 09 PHP
Memcache 在PHP中的使用技巧
Feb 08 PHP
PHP警告Cannot use a scalar value as an array的解决方法
Jan 11 PHP
php中常用的预定义变量小结
May 09 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
Jan 09 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
Nov 05 PHP
PHP使用flock实现文件加锁的方法
Jul 01 PHP
laravel 中如何使用ajax和vue总结
Aug 16 PHP
ecshop添加菜单及权限分配问题
Nov 21 PHP
详解php协程知识点
Sep 21 PHP
apache集成php7.3.5的详细步骤
Jun 20 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
简单的过滤字符串中的HTML标记
2006/12/25 PHP
PHP 文件系统详解
2012/09/13 PHP
php curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
2016/06/13 PHP
Yii中CGridView禁止列排序的设置方法
2016/07/12 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
使用js画图之圆、弧、扇形
2015/01/12 Javascript
Jquery搜索父元素操作方法
2015/02/10 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
2015/08/13 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
jQuery向父辈遍历的简单方法
2016/09/18 Javascript
BootStrap Fileinput上传插件使用实例代码
2017/07/28 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
vue项目持久化存储数据的实现代码
2018/10/01 Javascript
[52:09]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第二场
2014/05/26 DOTA
[55:45]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第一局
2016/02/28 DOTA
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
实例讲解Python中函数的调用与定义
2016/03/14 Python
Centos下实现安装Python3.6和Python2共存
2018/08/15 Python
python生成以及打开json、csv和txt文件的实例
2018/11/16 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
2019/12/03 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
2020/05/03 Python
为什么UNION ALL比UNION快
2016/03/17 面试题
关于感恩的演讲稿500字
2014/08/26 职场文书
追悼会答谢词范文
2015/09/29 职场文书
感恩信:写给爸爸妈妈的一封感谢信
2019/09/12 职场文书
Python基础知识之变量的详解
2021/04/14 Python
python实现MD5进行文件去重的示例代码
2021/07/09 Python
JavaScript的function函数详细介绍
2021/11/20 Javascript