現在一般就這兩種常用的接口
成都創(chuàng)新互聯(lián)公司自成立以來,一直致力于為企業(yè)提供從網站策劃、網站設計、網站設計、做網站、電子商務、網站推廣、網站優(yōu)化到為企業(yè)提供個性化軟件開發(fā)等基于互聯(lián)網的全面整合營銷服務。公司擁有豐富的網站建設和互聯(lián)網應用系統(tǒng)開發(fā)管理經驗、成熟的應用系統(tǒng)解決方案、優(yōu)秀的網站開發(fā)工程師團隊及專業(yè)的網站設計師團隊。
輸出json:
?php
header("Content-type:?application/json");
$arr?=?array('str_key'?=?'str_val',?'timestamp'?=?1380000000);
echo?json_encode($arr);
?
輸出xml:
?php??
header("Content-type:?text/xml");??
echo?"?xml?version=\"1.0\"?encoding=\"utf-8\"?";??
echo?"datademovalue/demo/data";??
?
1、可以使用 REST模式 來開發(fā) App 接口,首先建立一個公共控制器,再建其他控制器繼承它即可。
2、確定好返回的數據內容格式及信息碼;
?php
// App接口公共控制器 AppController
namespace Api\Controller;
use Think\Controller\RestController;
class AppController extends RestController {
// 自動加載的東西
function _initialize() { }
// 驗證 客戶端 token
protected function checkAppToken($apptoken){
// 引入 function.php 中定義的檢測 apptoken 的函數
if(checkingAppToken($apptoken)){
return true;
}else{
$data['code'] = '404';
$data['msg'] = 'apptoken無效';
$data['data'] = null;
$this - response($data, 'json');
exit();
}
}
// 驗證 用戶 token
protected function checkUserToken($usertoken){
}
// 各種驗證 ……
}
?
復制代碼
其他接口控制器繼承 AppController
?php
// 內容控制器 ContentsController
namespace Api\Controller;
class ContentsController extends AppController {
// 自動加載驗證
function _initialize() {
parent::_initialize();
// 驗證 客戶端 token
$apptoken = I('post.apptoken');
parent::checkAppToken($apptoken);
// 驗證 用戶 token
$usertoken = I('post.usertoken');
parent::checkUserToken($usertoken);
// 各種需要驗證的驗證 ……
}
// 各種業(yè)務方法
public function index(){
// 返回數據
$this - response($data, 'json');
exit();
}
}
?
找個框架吧,很多框架有為接口設計的功能
Larvel
ThinkPHP5
等等。
如果要用原生PHP寫,需要做到以下幾點:
兼容輸入
請求數據的數據體 有 POST(form-data和form-urlencoded兩種),BIN,RAW幾種,接口一般需要兼容這幾種數據提交方式
統(tǒng)一錯誤輸出
有全局統(tǒng)一的錯誤代碼
可以捕捉系統(tǒng)異常并以接口格式返回錯誤信息或預定義信息
返回格式定義
一般主流支持json格式返回,但最好能做到根據參數可以自定義返回格式(如 xml或json)
授權方式及權限分配
比較常見的OAUTH授權等。
不同接口按最低需求授與對應賬戶權限
這個東西有點泛。
我們可以先看看APP接口都需要實現什么功能
1 APP應用需要獲取新聞列表信息,展示到APP里面
2 用戶注冊/登錄驗證
3 支付
一般接口交互都用什么形式呢?
1 XML 2JSON
根據需求,或者說根據自己team的熟練方面,用哪種進行選取。
怎么做接口呢?
比如是新聞的列表數據
可以放在數據套數組里面
內層數組 存標題、內容鏈接、作者、更新時間、小圖片地址
外層數組就是把這些一個一個內層數組包進去。
然后用PHP的數組 json_decode 進行編碼,就會變成一個JSON格式的字符串, 只要把這個接口給APP請求,就可以獲取了
然后APP再進行解析填充到里面 就行了
1、目的:清楚明白所寫接口的用途
2、安全性:做好接口的安全性,防止接口數據泄露,做好必要的參數加密措施
3、按需分配: 接受值和返回值要實用,不接受和返回不需要的數據,返回值返回什么應與使用者時時溝通
4、規(guī)范性:參數命名規(guī)范有意義,讓使用者一目了然;返回值要包含調用接口狀態(tài)信息,返回數據格式最好使用JSON
5、日志:寫接口調用日志,方便查到接口調用錯誤,實現監(jiān)控和對接快捷
先簡單點的,要會php的一些基本的語法。。先建一個test.php , 賦值數組: $return = array( 'id' = '1', 'name' = 'test', ) echo json_encode($return); //直接輸出~嗯,這個是json格式返回的數據 app端調用test.php文件,能獲取數據。