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 写接口一般只用到这两个。

bash 复制代码
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                 命令行入口文件

以下是 controller 部分代码截图:


3.运行项目

运行命令

-p:指定端口

bash 复制代码
php think run -p 80

当我们访问 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编写及调用

简简单单编写下

php 复制代码
<?php
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]);
    }
}

在controller下调用model:

调用接口

查询:

新增:

再查询下:

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


5.返回json格式

使用:return json(this-\>renderJson(1, '', userList));

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


End

相关推荐
—Qeyser1 小时前
Flutter网络请求Dio封装实战
网络·flutter·php·xcode·android-studio
半桔2 小时前
【IO多路转接】IO 多路复用之 select:从接口解析到服务器实战
linux·服务器·c++·github·php
m0_674031432 小时前
GitHub等平台形成的开源文化正在重塑加热d
windows·spring boot·spring
m0_674031432 小时前
GitHub等平台形成的开源文化正在重塑鸡腿肉
windows·spring boot·spring
wudl55663 小时前
JDK 21 API增强详解
java·开发语言·windows
m0_748233644 小时前
【C++list】底层结构、迭代器核心原理与常用接口实现全解析
c++·windows·list
funfan051713 小时前
【开发AI】Windows安装和使用Milvus的保姆级教程
人工智能·windows·milvus
刚子编程13 小时前
ASP.NET Core Blazor简介和快速入门三(布局和路由)
windows
洛克大航海16 小时前
Windows 中启动 ms office 报错0xc0000142
windows·ms office·0xco0000142
sukalot18 小时前
windows显示驱动开发-缩放桌面图像(二)
windows·驱动开发