1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
| <?php Class Response { //返回数据 public static function show($code,$message='',$data='',$type = 'json',$callback='') { if($type=='json') { echo self::jsonEncode($code,$message,$data); }elseif($type == 'xml') { echo self::xmlEncode($code,$message,$data); }elseif($type == 'jsonp') { echo $callback.'('.self::jsonEncode($code,$message,$data).')'; } } //json接口 public static function jsonEncode($code,$message='',$data='') { if(!is_numeric($code)) { return ''; } $result = array( 'code' => $code, 'message' => $message, 'data' => $data, ); header("Content-type:text/json;chaset=utf-8"); return json_encode($result); } //xml接口 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;chaset=utf-8"); $xml = "<?xml version='1.0' encoding='utf-8' ?>\n"; $xml .= "<root>\n"; $xml .= self::xmlToEncode($result); $xml .= "</root>\n"; return $xml; } //xml内容循环 public static function xmlToEncode($data) { if(empty($data)) { return ''; } $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; } } //二维数据 $type = isset($_GET['type'])? $_GET['type'] : 'json'; $callback = isset($_GET['callback'])? $_GET['callback'] : ''; $arr = array( 'id'=>1, 'name'=>'jia', 'type'=>array(1,2,3) ); Response::show(200,'数据返回成功',$arr,$type,$callback);
|