思路流程:
如何通訊:
客戶端傳送http請求 伺服器返回資料。
封裝通訊介面方法:
2-1 json方式封裝通訊介面 (14:39)
先上**:
response.class.php
<?php/***description 用於返回指定資料格式的類
*@param $code [int] 返回的狀態碼
*@param $message [string] 返回的狀態資訊
*@param $data [array] 需要返回的資料 *
*/class response
}
response.class.php是乙個最簡單的返回json格式資料的類,在下面的課程中我們會進一步對其進行完善。
下面貼出介面檔案**:
returndata.php
<?phprequire "response.class.php"; //
引入返回資訊類
//準備返回資料
$code = 200;
$message = "資訊請求成功";
$data = array(
"name" => "ruanwnewu",
"***" => "1",
"age" => "28",
"exp" => array(
"2012" => "北京瑞泰新",
"2013" => "兄弟連",
"2014" => "木螞蟻科技"));
//例項化response類
$response = new response;
//返回資料
echo
$response -> json($code,$message,$data);
請求returndata.php介面返回的資料如下圖所示:
這樣就完成了乙個最基本的,封裝好的json資料通訊介面。
2-2 php生成xml資料 (12:02)
生成xml格式資料一般有三種方法:
在這裡我只講解第一種方法生成xml資料的方法。上**:
producexml.php
<?phpheader('content-type:text/xml');
$xml = '<?xml version="1.0" encoding="utf-8" ?>';
$xml .= '';
$xml .= '
404
'."\r\n";$xml .= '資料返回成功'."\r\n";
$xml .= ''."\r\n";
$xml .= '軟文無'."\r\n";
$xml .= '1'."\r\n";
$xml .= '28'."\r\n";
$xml .= '';
$xml .= '';
echo
$xml;
2-3 xml方式封裝通訊介面 (17:50)
上**:
<?php/** *description 用於返回指定資料格式的類
*@param $code [int] 返回的狀態碼
*@param $message [string] 返回的狀態資訊
*@param $data [array] 需要返回的資料
*/class response
public function xml($code,$message,$data)
/***將資料解析為xml字串
*/public static function encodexml($data)'";
$key = "item";
}$xml .= "<>";
$xml .= is_array($value)?self::encodexml($value):$value;
$xml .= "";
}return $xml;
}}
同樣用returndata.php呼叫該介面:
<?phprequire "response.class.php"; //
引入返回資訊類
//準備返回資料
$code = 200;
$message = "資訊請求成功";
$data = array(
"name" => "ruanwnewu",
"***" => "1",
"age" => "28",
"exp" => array(
"2012" => "北京瑞泰新",
"2013" => "兄弟連",
"2014" => "木螞蟻科技"));
//例項化response類
$response = new response;
//返回資料
echo
$response -> xml($code,$message,$data);
得到如下圖所示的xml檔案結果
2-4 綜合方式封裝通訊資料方法 (11:15)
將兩種封裝方法綜合起來,並能夠根據請求的引數來返回指定格式的資料,上**:
完善後的response類
<?php/**總結:*description 用於返回指定資料格式的類
*@param $code [int] 返回的狀態碼
*@param $message [string] 返回的狀態資訊
*@param $data [array] 需要返回的資料 */
class responseelse
}public
function json($code,$message,$data)
public
function xml($code,$message,$data)
/** *將資料解析為xml字串
*/public
static
function encodexml($data)'";
$key = "item";
}$xml .= "<>";
$xml .= is_array($value)?self::encodexml($value):$value;
$xml .= "$key>";
}return
$xml;
}}
1、對於資料的輸出最好用json,json具有相當強大的跨平台性,市場上各大主流程式語言都支援json解析,json正在逐步取代xml,成為網路資料的通用格式
2、介面安全,一定要增加介面驗證。例如,客戶端和服務端針對不同介面統一做好加密方式,服務端在對於每次介面需要都要進行驗證。以保證防止介面被惡意重新整理或黑客惡意呼叫,尤其是大型商業應用。
3、對於線上的 api 必須保證所有介面正常且關閉所有的錯誤資訊 => error_reporting(0),在輸出json 時,不能有任何其它輸出,否則,客戶端將解析資料失敗,直接 crash!
4、開發 api 和 web 有一定的區別,如果是 web 的話,可能**出錯了,不會導致特別嚴重的錯誤,也許只是導致資料寫入和查詢失敗,也許導致 web 的某個部分錯位或亂碼。但如果是 api,直接 crash!
php開發app介面
1 php將陣列轉換為json格式 arr array id 1,name siangwa echo json encode arr 該函式只接受utf 8的格式 結果 2 封裝通訊資料介面資料方法 code 狀態碼 200,400 等 message 提示資訊 200 成功 400 失敗 data...
php開發App介面
思路流程 如何通訊 客戶端傳送http請求 伺服器返回資料。封裝通訊介面方法 2 1 json方式封裝通訊介面 14 39 先上 response.class.php description 用於返回指定資料格式的類 param code int 返回的狀態碼 param message strin...
PHP開發APP介面
php 物件導向的介面 特殊的抽象類 inte ce 定義該介面 implements 實現該介面作用 提供標準,規範原則。xml格式統一,跨平台跨語言,只有乙個根節點,標籤自定義 json 資料 解析是陣列形式!xml json 資料格式區別 1.可讀性方面 xml可讀性高 2.生成資料方面 js...