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

相关推荐
独隅14 分钟前
CodeX + Visual Studio Code 联动的全面指南
开发语言·php
爱吃小白兔的猫1 小时前
LPA算法详解:一种近线性时间的图社区发现方法
开发语言·php
谁的小耳朵1 小时前
一次小米电脑管家安装失败排查:官网安装包闪退,最后发现是埋点接口异常
windows
x***r1513 小时前
DLL错误专修工具_TBI3264安装步骤详解(附DLL缺失一键修复与运行库安装教程)
windows
棒棒的唐3 小时前
在国内安装yii2新项目由于网络超时安装失败的解决办法
php·yii2
阿萨德528号6 小时前
Windows RabbitMQ 启动完整指南(附启动报错解决、如何以服务方式后台运行)
windows·rabbitmq·ruby
xinhuanjieyi7 小时前
Deprecated: Directive ‘track_errors‘ is deprecated in Unknown on line 0
php
私人珍藏库7 小时前
[吾爱大神原创工具] 鼠标轨迹美化工具
windows·工具·鼠标·软件·win·多功能
小小测试开发7 小时前
AI Agent 重构单体应用实战:1Password 经验与避坑指南
人工智能·windows·重构
您^_^7 小时前
专家(一):Claude Code 微服务实战——6 个服务从拆分到 K8s 部署,$0.45 全套 YAML 照抄
人工智能·windows·微服务·架构·kubernetes·个人开发·claude code