PHP实现返回JSON和XML的类分享

yipeiwu_com6年前PHP代码库

代码很简洁,功能也很简单实用,这里就不多废话了,直接奉上代码:

复制代码 代码如下:

<?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 printf输出格式使用说明

printf的格式控制的完整格式: % - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少。 ②-:有-表示左对齐输出,如省略表...

PHP正则删除HTML代码中宽高样式的方法

本文实例讲述了PHP正则删除HTML代码中宽高样式的方法。分享给大家供大家参考,具体如下: 因工作需要,需要采集html,并把html内容保存到数据库中。为了避免影响使用,宽高样式需要删...

有关PHP中MVC的开发经验分享

一、入口 入口文件可以是单文件也可以是多文件,我现在用的基本属多文件,但是入口文件内容基本都是一样,为以后的修改其它的入口方式做基础, 复制代码 代码如下: <?php requi...

让你成为更出色的PHP开发者的10个技巧

Raphael Caixeta作为一个刚开始使用PHP的开发者,总结了十点PHP开发的技术,希望能对这门了不起的放言的初学者能有些帮助:1、尽量使用PHP自带的核心函数和类 2、巧用配置...

PHP 程序员应该使用的10个组件

开源解决方案可以给你很大的帮助,比如: 开源代码是由很多人一起完成的,因此往往比一个人完成的结果要好。 你可以获得免费的代码更新和升级,否则你需要自己来写这些新的内容。 你节省了开...