zoukankan      html  css  js  c++  java
  • 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 }

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

  • 相关阅读:
    一些无意间YY的脑瘫题
    回滚莫队
    数论
    专题整理
    模拟赛x+1
    HISKrrr的板子库
    java多线程学习笔记(四)
    java多线程学习笔记(三)
    java多线程学习笔记(二)
    Java多线程学习笔记(一)
  • 原文地址:https://www.cnblogs.com/ailingfei/p/6415548.html
Copyright © 2011-2022 走看看