現(xiàn)在一般就這兩種常用的接口

成都創(chuàng)新互聯(lián)公司自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計、網(wǎng)站設(shè)計、做網(wǎng)站、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)管理經(jīng)驗、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團(tuán)隊及專業(yè)的網(wǎng)站設(shè)計師團(tuán)隊。
輸出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、確定好返回的數(shù)據(jù)內(nèi)容格式及信息碼;
?php
// App接口公共控制器 AppController
namespace Api\Controller;
use Think\Controller\RestController;
class AppController extends RestController {
// 自動加載的東西
function _initialize() { }
// 驗證 客戶端 token
protected function checkAppToken($apptoken){
// 引入 function.php 中定義的檢測 apptoken 的函數(shù)
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){
}
// 各種驗證 ……
}
?
復(fù)制代碼
其他接口控制器繼承 AppController
?php
// 內(nèi)容控制器 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è)務(wù)方法
public function index(){
// 返回數(shù)據(jù)
$this - response($data, 'json');
exit();
}
}
?
找個框架吧,很多框架有為接口設(shè)計的功能
Larvel
ThinkPHP5
等等。
如果要用原生PHP寫,需要做到以下幾點(diǎn):
兼容輸入
請求數(shù)據(jù)的數(shù)據(jù)體 有 POST(form-data和form-urlencoded兩種),BIN,RAW幾種,接口一般需要兼容這幾種數(shù)據(jù)提交方式
統(tǒng)一錯誤輸出
有全局統(tǒng)一的錯誤代碼
可以捕捉系統(tǒng)異常并以接口格式返回錯誤信息或預(yù)定義信息
返回格式定義
一般主流支持json格式返回,但最好能做到根據(jù)參數(shù)可以自定義返回格式(如 xml或json)
授權(quán)方式及權(quán)限分配
比較常見的OAUTH授權(quán)等。
不同接口按最低需求授與對應(yīng)賬戶權(quán)限
這個東西有點(diǎn)泛。
我們可以先看看APP接口都需要實現(xiàn)什么功能
1 APP應(yīng)用需要獲取新聞列表信息,展示到APP里面
2 用戶注冊/登錄驗證
3 支付
一般接口交互都用什么形式呢?
1 XML 2JSON
根據(jù)需求,或者說根據(jù)自己team的熟練方面,用哪種進(jìn)行選取。
怎么做接口呢?
比如是新聞的列表數(shù)據(jù)
可以放在數(shù)據(jù)套數(shù)組里面
內(nèi)層數(shù)組 存標(biāo)題、內(nèi)容鏈接、作者、更新時間、小圖片地址
外層數(shù)組就是把這些一個一個內(nèi)層數(shù)組包進(jìn)去。
然后用PHP的數(shù)組 json_decode 進(jìn)行編碼,就會變成一個JSON格式的字符串, 只要把這個接口給APP請求,就可以獲取了
然后APP再進(jìn)行解析填充到里面 就行了
1、目的:清楚明白所寫接口的用途
2、安全性:做好接口的安全性,防止接口數(shù)據(jù)泄露,做好必要的參數(shù)加密措施
3、按需分配: 接受值和返回值要實用,不接受和返回不需要的數(shù)據(jù),返回值返回什么應(yīng)與使用者時時溝通
4、規(guī)范性:參數(shù)命名規(guī)范有意義,讓使用者一目了然;返回值要包含調(diào)用接口狀態(tài)信息,返回數(shù)據(jù)格式最好使用JSON
5、日志:寫接口調(diào)用日志,方便查到接口調(diào)用錯誤,實現(xiàn)監(jiān)控和對接快捷
先簡單點(diǎn)的,要會php的一些基本的語法。。先建一個test.php , 賦值數(shù)組: $return = array( 'id' = '1', 'name' = 'test', ) echo json_encode($return); //直接輸出~嗯,這個是json格式返回的數(shù)據(jù) app端調(diào)用test.php文件,能獲取數(shù)據(jù)。
本文標(biāo)題:php給app寫數(shù)據(jù)接口,php做app后端
路徑分享:http://chinadenli.net/article33/dsgohps.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站排名、小程序開發(fā)、面包屑導(dǎo)航、網(wǎng)站收錄、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)