對於php的入學者來說,很少接觸api,因此對於如何寫不知所措,其實開發API 比開發WEB 更簡潔,但可能邏輯更復雜,因為API 其實就是數據輸出,不用呈現頁面,所以也就不存在MVC(API 只有M 和C),和WEB 開發一樣,首先需要一些相關的參數,這些參數,都會由客戶端傳過來,也許是GET也許是POST,這個需要開發團隊相互之間約定好,或者制定統一規范。
1. 我們寫接口就要有一個相應的格式
我寫接口喜歡使用 status,msg,result 這三個返回。 status = 返回碼 ,msg = 返回提示 ,result = 返回數據庫(一般獲取數據才需要,php返回一個數組)
2. 一般接口GET請求都是獲取,POST請求都是設置(增加,修改,刪除)
在PHP中我們一般使用 $_GET['key'] 這種格式來獲取get參數 key就是你傳過來的鍵
$_POSTkey'] 這種格式來獲取post參數 key就是你傳過來的鍵
3. 返回數據需要注意
我們在返回數據后是不需要在執行php代碼,所以返回最好是直接exit();
我就不多說廢話了,等你們以后寫多了就知道了,下面為你們來個登錄,注冊的接口
登錄接口
<?php header("Content-type:text/html; charset=utf-8"); //登錄一般都是get請求 所以我們這里使用一個變量接受所以get請求 $data = $_GET; //吧所有獲取的參數賦值給data if(!$data){ ajaxResult(['status'=>-1,'msg'=>'請使用GET請求','result'=>[]]); } if(!isset($data['password']) || !isset($data['username'])){ //判斷所需要的參數是否存在 ajaxResult(['status'=>-1,'msg'=>'缺少參數','result'=>[]]); } if($data['username'] == 'admin' && $data['password'] == '123456'){ //判斷賬號密碼是否存在 $r = ['username'=>'admin','password'=>'123456']; //需要返回的數據 ajaxResult(['status'=>1,'msg'=>'登錄成功','result'=>$r]); }else{ ajaxResult(['status'=>-100,'msg'=>'賬號或密碼錯誤','result'=>[]]); } function ajaxResult($data){ //這里定義一個方法用來返回 json請求 exit(json_encode($data)); }
注冊接口 (注冊與登錄差不多啊)
<?php header("Content-type:text/html; charset=utf-8"); //登錄一般都是post請求 所以我們這里使用一個變量接受所以post請求 $data = $_POST; //吧所有獲取的參數賦值給data if(!$data){ ajaxResult(['status'=>-1,'msg'=>'請使用POST請求','result'=>[]]); } if(!isset($data['password']) || !isset($data['username'])){ //判斷所需要的參數是否存在 ajaxResult(['status'=>-1,'msg'=>'缺少參數','result'=>[]]); } if($data['username'] == 'admin' && $data['password'] == '123456'){ //判斷賬號密碼是否存在 $r = ['username'=>'admin','password'=>'123456']; //需要返回的數據 ajaxResult(['status'=>1,'msg'=>'注冊成功','result'=>$r]); } function ajaxResult($data){ //這里定義一個方法用來返回 json請求 exit(json_encode($data)); }
接口就是這么簡單