1. 程式人生 > >php 封裝介面類返回json/xml資料

php 封裝介面類返回json/xml資料

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);