php API接口入門


1.簡述:

api接口開發,其實和平時開發邏輯差不多;但是也有略微差異;

平時使用mvc開發網站的思路一般是都 由控制器 去 調用模型,模型返回數據,再由控制器把數據放到視圖中,展現給用戶;

api開發是:使用控制器 去調用模型,模型返回數據,在有控制器 輸出 json格式字符串 或者 XML 字符串;

2.邏輯代碼:

微型mvc結構 :controller 控制器,modal 模型,view 視圖,db類 (訪問數據的類)

復制代碼
 1 <?php
 2 
 3 class TestController{
 4     private $db = null;
 5 
 6     function __construct(){
 7         require './db.class.php';
 8         $this -> db = new db();
 9     }
10 
11     /**
12      * @desc 返回數據
13      * @author wzh
14      * @date 2017-02-19
15      * @qq 646943067
16      */
17     private function jsonReturn($data){
18         $return = array(
19             'status' => 200,    /* 返回狀態,200 成功,500失敗 */
20             'data' => $data,
21             'message' => '獲取成功',
22         );
23         echo json_encode($return);die;
24     }
25 
26     /**
27      * @desc 返回數據
28      * @author wzh
29      * @date 2017-02-19
30      * @qq 646943067
31      */
32     private function success($message){
33         $return = array(
34             'status' => 200,    /* 返回狀態,200 成功,500失敗 */
35             'message' => $message,
36         );
37         echo json_encode($return);die;
38     }
39 
40 
41     /**
42      * @desc 返回數據
43      * @author wzh
44      * @date 2017-02-19
45      * @qq 646943067
46      */
47     private function error($message){
48         $return = array(
49             'status' => 500,    /* 返回狀態,200 成功,500失敗 */
50             'message' => $message,
51         );
52         echo json_encode($return);die;
53     }
54 
55 
56     /**
57      * @desc 測試api接口 根據 班級id獲取該班級下的所有學員
58      * @author wzh
59      * @version 1.0
60      * @date 2017-02-19
61      */
62     public function getList(){
63         $class_id = (int) $_GET['class_id'];
64         $sql = " select student_id,student_name,gander from student where class_id = '$class_id' and is_delete = 0 ";
65         $list = $this -> db -> getAll($sql);
66         if(empty($list)){
67             $this -> error('暫無數據');
68         }
69         $data['list'] = $list;
70         $this -> jsonReturn($data);
71     }
72 
73     /**
74      * @desc 測試api接口 獲取該學員 是否 已經打卡
75      * @author wzh
76      * @version 1.0
77      * @date 2017-02-19
78      * @qq 646943067
79      */
80     public function getSignStatus(){
81         $student_id = (int) $_GET['student_id'];
82         $time = time();
83         $start_time = strtotime(date('Y-m-d',$time) . ' 00:00:00');
84         $end_time = $start_time = 3600 * 24;
85         $sql = " select status from student_status where student_id = '$student_id' ";
86         $status = $this -> db -> getOne($sql);
87         if($status == 1){
88             $this -> success('已打卡');
89         }else{
90             $this -> error('未打卡');
91         }
92     }
93 
94 }
復制代碼

總結:通過以上代碼可以看出 和平時寫代碼的邏輯是相同的


免責聲明!

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



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