データインターフェースを作成する場合、通常、サードパーティのデータインターフェースを取得するか、サードパーティにデータインターフェースを提供する必要があり、これらのデータフォーマットは通常、XMLまたはJSON形式で送信されます。この記事では、PHP を使用してサードパーティ呼び出し用の XML 形式のデータを生成する方法と、サードパーティが提供する XML データを取得する方法を紹介します。
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 |
/** * インターフェースデータ形式を生成します */ クラスレスポンス{ /** * [総合モードで出力データを表示] * @param [int] $code [ステータスコード] * @param [文字列] $message [プロンプトメッセージ] * @param 配列 $data [データ] * @param [文字列] $type [タイプ] * @return [文字列] [戻り値] */ パブリック静的関数 show($code, $message, $data = array(),$type = ''){ if(!is_numeric($code)){ 戻る ''; } $result = 配列( 'コード' => $code, 'メッセージ' => $message, 'データ' => $データ ); if($type == 'json'){ return self::json($code, $message, $data); }elseif($type == 'xml'){ return self::xml($code, $message, $data); }その他{ //TODO } } /** * [jsonモードでのjson出力データ] * @param [int] $code [ステータスコード] * @param [文字列] $message [プロンプトメッセージ] * @param [配列] $data [データ] * @return [文字列] [戻り値] */ パブリック静的関数 json($code, $message, $data = array()){ if(!is_numeric($code)){ 戻る ''; } $result = 配列( 'コード' => $code, 'メッセージ' => $message, 'データ' => $データ ); $result = json_encode($result); $result を返す; }
/** * [xml は XML 形式でデータを生成します] * @param [int] $code [ステータスコード] * @param [文字列] $message [プロンプトメッセージ] * @param 配列 $data [データ] * @return [文字列] [戻り値] */ パブリック静的関数 xml($code, $message, $data = array()){ if(!is_numeric($code)){ 戻る ''; } $result = 配列( 'コード' => $コード、 「メッセージ」=> $メッセージ、 'データ' => $データ ); header("Content-Type:text/xml"); $xml = "n"; $xml .= " $xml .= self::xmlToEncode($data); $xml .= ""; $xml を返す; }
パブリック静的関数 xmlToEncode($data){ $xml = ''; foreach($data as $key => $value){ if(is_numeric($key)){ $attr = "id='{$key}'"; $key = "アイテム"; } $xml .= "<{$key} {$attr}>n"; $xml .= is_array($value) ? self::xmlToEncode($value) : "{$value}n"; $xml .= "{$key}>n"; } $xml を返す; } }
//测试 $grade = array("スコア" => array(70, 95, 70.0, 60, "70"), "名前" => array("張三", "李思", "王呉", "Zhao Liu"、"TianQi")); $response = 新しいResponse(); $result = $response :: show(200,'success',$grade,'json'); print_r($result); |
以上記載は本文の全内容であり、大家様が喜欢できることを望みます。
http://www.bkjia.com/PHPjc/1000063.html