php 封装接口类返回json/xml数据

来源:互联网 发布:虚拟货币源码 编辑:程序博客网 时间:2024/06/06 03:43

php 封装接口类返回json/xml数据

response.php

<?phpclass Response {    /*    *按json格式返回数据    *@param int $code 状态码    *@param string $message 提示信息    *@param arrya $data 数据    *return string    */     public static function getJson($code ,$message = '',$data = array()) {        if(!is_numeric($code)) {            return '';        }        $arr = array(            'code' => $code,            'message' => $message,            'data' => $data        );        echo json_encode($arr);        exit;     }     /*    *按xml格式返回数据    *@param int $code 状态码    *@param string $message 提示信息    *@param arrya $data 数据    *return string    */     public static function getXml($code,$message = '',$data = array()) {        if(!is_numeric($code)) {            return '';        }        header("Content-Type:text/xml");        $result  = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";        $result .= "<root>\n";        $result .= "<code>" . $code . "</code>\n";        $result .= "<message>" . $message . "</message>\n";        $result .= "<data>\n" . self::getData($data) . "</data>\n";        $result .= "</root>";        echo $result;        exit;     }     /*    *将$data转换为xml字符串    *@param arrya $data 数据    *return string    */     private static function getData($data = array()) {        $str = '';        foreach ($data as $key => $value) {            $s = '';            if(is_numeric($key)) {                $s = " id='" . $key . "'";                $key = "item";            }            $str .= "<" . $key . $s .">";            $str .= is_array($value) ? "\n" . self::getData($value) : $value;             $str .= "</" .$key . ">\n";        }        return $str;     }}

在test.php中使用

<?phprequire_once('./response.php');$arr = array(    'id'=>'1',    'name'=>'2',    'da' => array(        'a' =>1,        'b' =>2        ),    'ca' =>array(12,12)    );//Response::getjson(12,'1',$arr);Response::getXml(12,'12',$arr);
原创粉丝点击