• thinkphp6-简简单单地开发接口


    1.前言

    基于上篇文章环境搭建后,便开始简单学习上手开发接口…记录重要的过程!
    Windows-试用phpthink发现原来可这样快速搭建mysql、redis等环境、xdebug

    TP6简介

    thinkphp6官网文档:https://www.kancloud.cn/manual/thinkphp6_0/1037479

    ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,更注重易用性。遵循Apache2开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产品发布/销售。


    2.项目目录

    官网有介绍:点我
    大同小异,应用名称、及下面的 controller、model 写接口一般只用到这两个。

    www  WEB部署目录(或者子目录)
    ├─app           应用目录
    │  ├─app_name           应用目录
    │  │  ├─common.php      函数文件
    │  │  ├─controller      控制器目录
    │  │  ├─model           模型目录
    │  │  ├─view            视图目录
    │  │  ├─config          配置目录
    │  │  ├─route           路由目录
    │  │  └─ ...            更多类库目录
    │  │
    │  ├─common.php         公共函数文件
    │  └─event.php          事件定义文件
    │
    ├─config                全局配置目录
    │  ├─app.php            应用配置
    │  ├─cache.php          缓存配置
    │  ├─console.php        控制台配置
    │  ├─cookie.php         Cookie配置
    │  ├─database.php       数据库配置
    │  ├─filesystem.php     文件磁盘配置
    │  ├─lang.php           多语言配置
    │  ├─log.php            日志配置
    │  ├─middleware.php     中间件配置
    │  ├─route.php          URL和路由配置
    │  ├─session.php        Session配置
    │  ├─trace.php          Trace配置
    │  └─view.php           视图配置
    │
    ├─public                WEB目录(对外访问目录)
    │  ├─index.php          入口文件
    │  ├─router.php         快速测试文件
    │  └─.htaccess          用于apache的重写
    │
    ├─extend                扩展类库目录
    ├─runtime               应用的运行时目录(可写,可定制)
    ├─vendor                Composer类库目录
    ├─.example.env          环境变量示例文件
    ├─composer.json         composer 定义文件
    ├─LICENSE.txt           授权说明文件
    ├─README.md             README 文件
    ├─think                 命令行入口文件
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    以下是 controller 部分代码截图:
    截图


    3.运行项目

    运行命令

    -p:指定端口

    php think run -p 80
    
    • 1

    当我们访问 http://127.0.0.1/admin 时,它将路由到 admin 应用下的 Index类index方法。
    因这是它的默认配置。截图截图

    访问规则

    截图
    如上图我们在 admin 应用下controller.Index.php中有个类为 Index及它的方法test,那么我们可以访问路由为:http://127.0.0.1/admin/index/test
    截图

    4.model db使用

    db连接配置

    prefix 为表名的前缀。
    截图

    model编写及调用

    简简单单编写下

    
    namespace app\admin\model;
    
    use think\Model;
    
    class User extends Model
    {
        // 表名
        protected $name = 'user';
        // id
        protected $pk = 'user_id';
    
        public function getUserList()
        {
            // 查询所有数据
            return $this->select();
        }
    
        public function addUser($name)
        {
            // 新增
            return $this->save(['name' => $name]);
        }
    
        public function delUser($user_id)
        {
            // 删除
            return $this->where(['user_id' => $user_id])->delete();
        }
    
        public function updateUser($user_id, $name)
        {
            // 更新
            return $this->where(['user_id' => $user_id])->update(['name' => $name]);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    在这里插入图片描述
    在controller下调用model:
    截图

    调用接口

    查询:
    截图
    新增:
    截图
    再查询下:
    截图
    看着挺简单好理解的,但是为了方便我们日常开发那还是需要做各种封装比如common model、controller、response结构等。


    5.返回json格式

    使用:return json($this->renderJson(1, ‘’, $userList));

        public function db($name=null)
        {
            $userModel = new User();
    
            // 新增
            if (!empty($name)){
                if ($userModel->addUser($name)){
                    return '新增成功';
                }
                return '服务异常';
            }
            // 查询
            $userList = $userModel->getUserList();
            return json($this->renderJson(1, '', $userList));
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    截图
    End

  • 相关阅读:
    [附源码]java毕业设计校园环境保护监督系统
    技术内幕 | StarRocks 支持 Apache Hudi 原理解析
    STM8的C语言编程(8)--+UART应用
    LeetCode209长度最小子数组
    ppt文件怎么压缩,ppt压缩的办法步骤
    几行代码就可以把系统高崩溃;
    淘宝/天猫API:item_search_best-天猫畅销榜
    邻接矩阵无向图(二) - C++实现
    您的计算机已被Mallox勒索病毒感染?恢复您的数据的方法在这里!
    idea E9 OA环境搭建
  • 原文地址:https://blog.csdn.net/qq_42675140/article/details/132783153