1. 程式人生 > >php api響應格式資料格式化Response類

php api響應格式資料格式化Response類

<?php /** * Created by PhpStorm. * User: 江 * Date: 2018/10/9 * Time: 11:49 */ //用於顯示響應資訊 class Response { /** * 格式常量 */ const JSON="json"; /** * 根據不同的格式把資料轉換成響應的格式輸出 * @param $code 狀態碼 * @param $message 提示資訊 * @param array $data 返回的資料 * @param string $type 返回資料的格式(json.xml,array) * @return array|string */
public static function show($code,$message,$data=array(),$type=self::JSON){ //當傳入的返回碼不是數字時,return 空 if(!is_numeric($code)){ return ''; } //當url後有format格式引數傳過來時,使用傳過來的引數進行處理 //沒有傳值過來就用函式 $type引數決定 $type=isset($_GET['format'])?$_GET['format']
:$type; //組裝一下資料 $result=array( 'code'=>$code, 'message'=>$message, 'data'=>$data, ); //根據 $type 進行分發 if($type=="json"){ self::jsonToEncode($code,$message,$data); }elseif($type=="xml"){ self:
:xmlToEncode($code,$message,$data); }else{ //直接返回陣列格式 return $result; } } /** * 產生json格式資料 * @param $code * @param $message * @param array $data */ public static function jsonToEncode($code,$message,$data=array()){ $data=[ 'code'=>$code, 'message'=>$message, 'data'=>$data ]; echo json_encode($data); exit; } /*** * 產生xml格式資料 * @param $code * @param $message * @param array $data */ public static function xmlToEncode($code,$message,$data=array()){ $result=[ 'code'=>$code, 'message'=>$message, 'data'=>$data ]; header("Content-Type:text/xml"); $xml="<?xml version='1.0' encoding='UTF-8' ?>
"; $xml.="