ThinkPHP 6.0(TP6)是基于精简核心和统一用法两大原则迭代版本

TP6的设计哲学是为 API 开发而生,同时兼顾了传统的 Web 开发。


  • 强类型支持:全面采用 PHP 7 强类型约束(严格模式),不仅提升了代码的健壮性,也方便了 IDE 的自动补全。
  • 多应用模式支持:原生支持单应用和多应用模式,非常适合大型项目的模块化管理(如 adminapiindex 分离)。
  • 引入 PSR 规范:遵循 PSR-2 编码规范、PSR-4 自动加载、PSR-3 日志规范以及 PSR-11 容器规范。
  • 中间件强化:TP6 的中间件机制更加成熟,内部功能(如 Session、多语言、请求缓存)全部“中间件化”。
  • 组件独立化:ORM(数据库对象关系映射)、模板引擎等核心组件被剥离出来,可以独立于框架运行。
  • **服务容器与门面 (Facade)**:依赖注入(DI)和容器(Container)成为了框架的灵魂,解耦能力极强。

架构设计深度解析

TP6 采用了微内核 + 服务驱动的架构模型。

1. 请求生命周期

一个典型的请求流程如下:

  1. 入口文件public/index.php 接收请求。
  2. HTTP 初始化:加载环境变量、配置文件,初始化服务容器。
  3. 路由解析:匹配对应的控制器和操作。
  4. 中间件执行:按序经过全局中间件、路由中间件、控制器中间件。
  5. 业务逻辑:控制器调用模型(Model)或服务层(Service)处理数据。
  6. 响应输出:由 Response 对象统一格式化(HTML/JSON)并输出。

2. 核心架构组件

组件名称 作用说明
容器 (Container) 对象的大管家,负责对象的实例化和依赖管理。
服务 (Service) 系统的扩展基石,用于注册各种第三方库或自定义组件。
门面 (Facade) 为容器中的类提供一个静态调用接口,简化调用逻辑。
事件 (Event) 观察者模式的实现,用于解耦业务逻辑(如注册后发送邮件)。

如何快速上手使用

1. 环境准备

  • PHP 版本:至少需要 PHP 7.2.5+。
  • 管理工具:必须使用 Composer(TP6 不再提供全量下载包)。

2. 安装与运行

1
2
3
4
5
# 安装最新稳定版
composer create-project topthink/think tp6

# 启动本地开发服务
php think run

浏览器访问 http://localhost:8000 即可看到欢迎页面。


TP6 目录结构一览

理解目录结构是掌握架构的第一步:

  • **app/**:核心应用目录(控制器、模型、服务等都在这里)。
  • **config/**:项目配置文件。
  • public/:Web 根目录(放置入口文件及静态资源)。
  • **route/**:路由定义目录。
  • runtime/:运行时生成的缓存、日志文件
  • **vendor/**:Composer 第三方类库(禁止手动修改)。