1. 程式人生 > >ThinkPHP5開發API介面例項

ThinkPHP5開發API介面例項

介面功能說明: 前端提交學生學號(sno)給Api,Api介面返回此學生的基本資訊

API介面端

<?php 
namespace app\index\controller;
use think\Controller;
use app\index\model\Student;

class User{
    public function index() {
        return $this->fetch();
    }
    // 客戶端提交學生學號(sno)給api,api返回此學生的基本資訊
    public function api($sno='0001') {
        // 查詢 並把資料賦值給 $data
        $data = Student::getBysno($sno);
        // 返回資料
        return json($data);
    }

}

(請求端) HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>TP5通過API查詢資料</title>
</head>
<body>
    <form action="http://localhost/index.php/index/user/capi/" method="post">
        <input type="text" name="sno">
        <input type="submit" value="提交查詢">
    </form>
</body>
</html>

(請求端) C層控制器

<?php 
namespace app\index\controller;
use think\Controller;

class User extends Controller {
    public function index() {
        return $this->fetch();
    }
    public function capi() {
        // http協議請求
        $url = 'http://localhost/index.php/index/index/api/';
        // input('sno') 是前端的from傳過來的name值
        $ch = curl_init($url.'?sno='.input('sno'));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        // 執行 並把執行後的資料賦值給 $data
        $data = curl_exec($ch);
        // 關閉
        curl_close($ch);
        // 返回資料
        return $data;
    }

}