php 封装接口类返回jsonxml数据

xiaoxiao2021-02-28  120

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);
转载请注明原文地址: https://www.6miu.com/read-28258.html

最新回复(0)