接口 xml json 数据的封装类


// 此类仅供参考  如有错误  请留言提示

<?php

Class 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
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yilukuangpao

你的鼓励是我创造最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值