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 }
复制代码

总结:通过以上代码可以看出 和平时写代码的逻辑是相同的

posted @ 2017-12-26 16:59  终极用户  阅读(1584)  评论(0编辑  收藏  举报