有json,xml实现 App 接口

App 接口实现

class Response {
const JSON = “json”;

/*
按综合方式输出
@param integer $code 状态码
@param string $message 提示信息
@param string $type 输出格式
@param array $data 数据
*/

public static function show($code,$message='',$data=array(),$type=self::JSON) {
 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,$data);
         exit;
    } elseif($type=='array') {
        var_dump($result);
        exit;
    } elseif($type=='xml') {
         self::xmlEncode($code,$message,$data);
        exit;
    } else {
        //TODO
    }
}

/*public static function xml() {
    header('Content-Type:text/xml');//请求 header文件格式 xml 
    $xml = "<?xml version='1.0' encoding='UTF-8'?>\n";
    $xml .= "<root>\n";
    $xml .= "<code>200</code>\n";
    $xml .= "<message>数据返回成功</message>\n";
    $xml .= "<data>swan</data>\n";
    $xml .= "</root>";

    echo $xml;

}*/
/*
按json方式输出
@param integer code@paramstring message 提示信息
@param array data/publicstaticfunctionjson( code, message, data) {
if(!is_numeric($code)) {
return ”;
}

    $array = array(
            'code' => $code,
            'message' => $message,
            'data' => $data
        );  

    echo json_encode($array);
    exit;
}



/*
按xml方式输出
@param integer $code 状态码
@param string $message 提示信息
@param array $data 数据
*/

public static function xmlEncode($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' ?>\n";
    $xml .= "<root>\n";
    $xml .= self::xmlToEncode($result);
    $xml .= "</root>";

    echo $xml;
}

public static function xmlToEncode($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::xmlToEncode($value):$value;
        $xml .= "</{$key}>\n";
    }
    return $xml;
}

}

$data = array(
‘title’ =>1,
‘movie’ =>’sun’,
‘type’ => array(1,2,4),//<0>1<1>2<2>4
‘tree’ => array(2,34,54 =>array(4,5,6))
);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值