接口 xml json 数据的封装类

来源:互联网 发布:chrome os linux老电脑 编辑:程序博客网 时间:2024/05/19 19:58
// 此类仅供参考  如有错误  请留言提示<?phpClass Response{  const JSON='json';    /*         * 按综合方式输出通信数据         * @param int code 状态码         * @param array data  数据         * @param string type 数据类型         * @param string message 信息         * return string        */    public static function show($code,$message='',$data=array(),$type)    {        if(!is_numeric($code)){            return '';        }        $type = isset($_GET['format'])?$_GET['format']:self::JSON;        $result = array(            'code'=>$code,            'message'=>$message,            'data'=>$data        );        if($type=='json'){            self::json($code,$message='',$result);            exit;        }elseif($type=='array'){            var_dump($result);  //调试模式        }elseif($type=='xml'){            self::xml($code,$message='',$result);            exit;        }else{            //ToDo        }    }    /*         * 按json方式输出通信数据         * @param int code 状态码         * @param array data  数据         * @param string type 数据类型         * @param string message 信息         * return string        */    public static function json($code,$message='',$data=array())    {        if(!is_numeric($code)){            return '';        }        $result = array(            'code'=>$code,            'message'=>$message,            'data'=>$data        );        /*echo  json_encode($result);        exit;*/        return json_encode($result);    }    /*        * 按xml方式输出通信数据        * @param int code 状态码        * @param array data  数据        * @param string type 数据类型        * @param string message 信息        * return string       */    public static function xml($code,$message='',$data=array())    {        if(!is_numeric($code)){            return '';        }        $result = array(            'code'=>$code,            'message'=>$message,            'data'=>$data        );        header('content-type:text/xml;');        $xml = "<?xml version='1.0' encoding='utf-8'?>";        $xml.="<root>";        $xml.=self::toxml($result);        $xml.="</root>";       /* echo $xml;        exit;*/        return $xml;    }    /*     *  为xml服务的方法     */    public static function toxml($data)    {        $xml = $attr = '';        foreach($data as $key=>$value) {            if(is_numeric($key)){                $attr ="id='{$key}'";                $key = "item";            }            $xml .= "<{$key} {$attr}>";            $xml.=is_array($value)?self::toxml($value):$value;            $xml .= "</{$key}>";        }        return $xml;    }}
0 0