php生成接口通信数据
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
|
/** * 生成接口数据格式 */ class Response{ /** * [show 按综合方式输出数据] * @param [int] $code [状态码] * @param [string] $message [提示信息] * @param array $data [数据] * @param [string] $type [类型] * @return [string] [返回值] */ public static function show( $code , $message , $data = array (), $type = '' ){ if (! is_numeric ( $code )){ return '' ; } $result = array ( 'code' => $code , 'message' => $message , 'data' => $data ); if ( $type == 'json' ){ return self::json( $code , $message , $data ); } elseif ( $type == 'xml' ){ return self::xml( $code , $message , $data ); } else { //TODO } } /** * [json 按json方式输出数据] * @param [int] $code [状态码] * @param [string] $message [提示信息] * @param [array] $data [数据] * @return [string] [返回值] */ public static function json( $code , $message , $data = array ()){ if (! is_numeric ( $code )){ return '' ; } $result = array ( 'code' => $code , 'message' => $message , 'data' => $data ); $result = json_encode( $result ); return $result ; } /** * [xml 按xml格式生成数据] * @param [int] $code [状态码] * @param [string] $message [提示信息] * @param array $data [数据] * @return [string] [返回值] */ public static function xml( $code , $message , $data = array ()){ if (! is_numeric ( $code )){ return '' ; } $result = array ( 'code' => $code , 'message' => $message , 'data' => $data ); header( "Content-Type:text/xml" ); $xml = "<?xml version='1.0' encoding='UTF-8'?>\n" ; $xml .= "<root>\n" ; $xml .= self::xmlToEncode( $data ); $xml .= "</root>" ; return $xml ; } public static function xmlToEncode( $data ){ $xml = '' ; foreach ( $data as $key => $value ){ if ( is_numeric ( $key )){ $attr = "id='{$key}'" ; $key = "item" ; } $xml .= "<{$key} {$attr}>\n" ; $xml .= is_array ( $value ) ? self::xmlToEncode( $value ) : "{$value}\n" ; $xml .= "</{$key}>\n" ; } return $xml ; } } //测试 $grade = array ( "score" => array (70, 95, 70.0, 60, "70" ), "name" => array ( "Zhang San" , "Li Si" , "Wang Wu" , "Zhao Liu" , "TianQi" )); $response = new Response(); $result = $response :: show(200, 'success' , $grade , 'json' ); print_r( $result ); |
以上所述就是本文的全部内容了,希望大家能够喜欢。