如何用PHP寫接口


  對於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));
}

 

接口就是這么簡單

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM