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

1 篇文章 0 订阅
1 篇文章 0 订阅

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

response.php

<?php

class 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中使用

<?php

require_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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值