1 <?php 2 class Reponse{ 3 //private $result = array('code'=null,'message'=null,'data'=>null); 4 /** 5 * @desc 返回JSON格式 6 * @param int $code 7 * @param string $message 8 * @param array $data 9 * return string 10 */ 11 public static function json($code,$message = null,$data = array()){ 12 if(!is_numeric($code)){ 13 return false; 14 } 15 $result = array( 16 'code'=>$code, 17 'message'=>$message, 18 'data'=>$data 19 ); 20 return json_encode($result); 21 exit; 22 } 23 24 /** 25 * @desc 返回xml格式數據 26 * @parma int $code 狀態碼 27 * @param string $message 提示 28 * @param array $data 數據 29 * return string 30 */ 31 public static function xml($code,$message = '',$data = array()){ 32 if(!is_numeric($code)){ 33 return false; 34 } 35 $result = array( 36 'code'=>$code, 37 'message'=>$message, 38 'data'=>$data 39 ); 40 $xml = ''; 41 42 $xml .= "<?xml version='1.0' encoding='UTF-8'?>\n"; 43 $xml .= "<root>\n"; 44 $xml .= self::xmlEncode($result); 45 $xml .= "</root>"; 46 header("Content-Type:text/xml"); 47 echo $xml; 48 49 } 50 51 public static function xmlEncode($result){ 52 $xml = $attr =''; 53 foreach($result as $key=>$val){ 54 if(is_numeric($key)){ 55 $attr = "id='{$key}'"; 56 $key = "item{$key}"; 57 } 58 $xml .= "<{$key} {$attr}>"; 59 60 $xml .= is_array($val) ? self::xmlEncode($val) : $val; 61 62 $xml .= "</{$key}>\n"; 63 } 64 65 return $xml; 66 67 } 68 69 } 70 71 $data = array( 72 'id'=>1, 73 'age'=>20, 74 'username'=>'tim', 75 'others'=>array(1,2,3), 76 ); 77 Reponse::xml(200,'success',$data); 78 Reponse::json(200,'success',$data);