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

相关推荐
ejinxian6 小时前
PHP 超文本预处理器 发布 8.5 版本
开发语言·php
Paper_Love7 小时前
x86-64_windows交叉编译arm_linux程序
arm开发·windows
zorro_z7 小时前
PHP语法基础篇(九):正则表达式
php
前端若水7 小时前
通过 Windows 共享文件夹 + 手机访问(SMB协议)如何实现
windows·智能手机
SuperherRo18 小时前
WEB攻防-文件包含&LFI&RFI&伪协议编码算法&无文件利用&黑白盒
php·文件包含·伪协议·lfi·无文件·黑白盒·rfi
超龄超能程序猿18 小时前
dnSpy 使用教程
windows·microsoft
路来了1 天前
Python小工具之PDF合并
开发语言·windows·python
csdn_aspnet1 天前
在 Windows 上安装和运行 Apache Kafka
windows·kafka
江山如画,佳人北望1 天前
C#程序入门
开发语言·windows·c#
AustinCyy1 天前
【环境配置】Neo4j Community Windows 安装教程
windows·neo4j