zoukankan      html  css  js  c++  java
  • PHP实现返回JSON和XML的类分享

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


    <?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'?> ";
                $xml .= "<root> ";
                $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}> ";
                }
                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);

  • 相关阅读:
    Android studio 快捷键记录
    Android开发 判断目标Fragment是否在前台
    Android开发 build.gradle的使用记录
    Android开发 在Application用于初始化的工具类
    Android开发 因为模块化导致findViewById返回为空null
    Android开发 本地广播
    Android开发 报错: xxx does not have a NavController set on xxx
    Android开发 GridLayout网格布局
    Android开发 Fragment启动Activity在使用onActivityResult的一些问题
    Html 创建自定义标签并且被jQuery获取到
  • 原文地址:https://www.cnblogs.com/honeynm/p/5279736.html
Copyright © 2011-2022 走看看