[TOC]
通過在慕課網[PHP開發APP接口](http://www.imooc.com/learn/163),記錄以下筆記。
PHP 面向對象接口定義
```
// 是一個抽象類,interface定義一個接口后,被其他類implements后實現
/**
* 定義一個接口
* 提供一個標準
*/
interface video {
public function getVideos();
public function getCount();
}
// implements是一個類實現一個接口用的關鍵字,它是用來實現接口中定義的抽象方法。
class movie implements video {
// 實現一個接口,必須實現接口中的所有方法。
public function getVideos() {
echo '1';
}
public function getCount() {
echo '2';
}
}
movie::getVideos();
```
##1)APP接口介紹(通信接口)
APP請求流程:
客戶端 -> 請求APP地址(接口地址)-> 返回接口數據 -> 解析數據 -> 客戶端
APP(通信)接口定義
1. 接口地址:(http://app.com/api.php?format=xml)
2. 接口文件:(api.PHP 處理一些業務邏輯)
3. 接口數據
##2)客戶端APP通信
```
APP如何通訊:
```
1. 客戶端APP(Client)發送http請求到服務器(Server);
2. 服務器(Server)處理后返回數據給客戶端APP(Client);
3. 數據一般為XML或者JSON格式的數據;
```
APP通信與B/S架構相當類似,但也有區別。
APP與PC端區別:
```
1. APP請求地址被封裝在APP里所以不可見;
2. PC端返回一般是HTML格式數據,APP返回是XML或JASON格式數據.
##3)客戶端APP通信格式區別
xml:
擴展標記語言(Extensible Markup Language,XML),可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。xml格式統一,跨平臺 特點:
1. 非常適合通信和傳輸
2. 可自定義節點
3. 有唯一根節點
4. 標簽要有結束(兩種形式)
json:
數據形式(JavaScript object notation) 一種輕量級的數據交換格式,具有良好的可讀和便于快速編寫的特性。可在不同平臺之間進行數據交換。JSON采用兼容性很高的,完全獨立于語言文本格式。這些特性使JSON成為理想的數據交換語言
xml和json數據的區別
1.可讀性:xml比json要強可讀性高
2.生成數據方式:通過php代碼生成時,生成json數據的方式更簡單 json_encode();
3.傳輸速度:json比xml快
##4)APP接口做的操作
操作
獲取數據 從數據庫中或緩存中獲取數據,然后通過接口數據返回給客戶端
提交數據 通過接口提交數據給服務器,然后服務器入庫處理,或者其他處理
常用接口:
1)提交和獲取數據
更新(需要服務器端處理版本信息接口):
web:把最新代碼放到服務器;
app:到遠程服務器下載最新APP到手機本地,替換掉舊的APP;
2)獲取數據;
3)提交數據;