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 相关文章推荐
生成缩略图
Oct 09 PHP
php使用pdo连接并查询sql数据库的方法
Dec 24 PHP
PHP中iconv函数知识汇总
Jul 02 PHP
利用PHP将部分内容用星号替换
Apr 21 PHP
WordPress开发中用于标题显示的相关函数使用解析
Jan 07 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
May 18 PHP
Yii2实现log输出到file及database的方法
Nov 12 PHP
php获取flash尺寸详细数据的方法
Nov 12 PHP
PHP实现多图上传(结合uploadify插件)思路分析
Nov 30 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
Aug 07 PHP
PHP实现的mongoDB数据库操作类完整实例
Apr 10 PHP
Nginx+php配置文件及原理解析
Dec 09 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+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
JavaScript 学习笔记(四)
2009/12/31 Javascript
JavaScript中链式调用之研习
2011/04/07 Javascript
javascript的回调函数应用示例
2014/02/20 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
2014/11/26 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
利用JS轻松实现获取表单数据
2016/12/06 Javascript
VUE中v-model和v-for指令详解
2017/06/23 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
jQuery动态移除与增加onclick属性的方法详解
2018/06/07 jQuery
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
JS实现的排列组合算法示例
2019/07/16 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
2019/07/31 jQuery
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
2019/09/16 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
Python探索之静态方法和类方法的区别详解
2017/10/27 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
2018/08/10 Python
python面向对象 反射原理解析
2019/08/12 Python
基于Python批量生成指定尺寸缩略图代码实例
2019/11/20 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
一文详述 Python 中的 property 语法
2020/09/01 Python
Ralph Lauren法国官网:美国高品味时装品牌
2017/12/08 全球购物
物业管理应届生求职信
2013/10/28 职场文书
中专三年学习的个人自我评价
2013/12/12 职场文书
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
《大作家的小老师》教学反思
2014/04/16 职场文书
质量月活动总结
2014/08/26 职场文书
副乡长群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
党支部承诺书
2015/01/20 职场文书
2016年领导干部正风肃纪心得体会
2015/10/09 职场文书
2016年国培研修日志
2015/11/13 职场文书
golang http使用踩过的坑与填坑指南
2021/04/27 Golang
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫