> #### 手册阅读须知:本手册仅针对ThinkPHP5.0版本
***
# ThinkPHP V5.0——为API开发而设计的高性能框架
![](https://box.kancloud.cn/2015-12-12_566b6a10506a4.png)
### V5.0版本由[七牛云](http://www.qiniu.com/)独家赞助发布
![](https://box.kancloud.cn/c00cc55f2dc1af4897c5ae7deeeae22b_231x88.png)
ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。遵循`Apache2`开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产品发布/销售。
>[danger] ThinkPHP5.0版本是一个颠覆和重构版本,采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持composer,并针对API开发做了大量的优化,包括路由、日志、异常、模型、数据库、模板引擎和验证等模块都已经重构,不适合原有3.2项目的升级,请慎重考虑商业项目升级,但绝对是新项目的首选(无论是WEB还是API开发)。
## 主要特性:
>[danger]### `V5.0`版本目前进入BUG及安全维护阶段,不再进行功能升级!(BUG修正截止时间为2019年1月1日 安全更新截止间2020年1月1日)
**规范**:遵循`PSR-2`、`PSR-4`规范,`Composer`及单元测试支持;
**严谨**:异常严谨的错误检测和安全机制,详细的日志信息,为你的开发保驾护航;
**灵活**:减少核心依赖,扩展更灵活、方便,支持命令行指令扩展;
**API友好**:出色的性能和`REST`支持、远程调试,更好的支持API开发;
**高效**:惰性加载,及路由、配置和自动加载的缓存机制;
**ORM**:重构的数据库、模型及关联,`MongoDb`支持;
>[danger]### 目前最新版本为`V5.0.24`,查看[更新日志](209035)和[升级指导](163239)。
-----
>[info] #### 本手册不能替代教程,而是作为工具参考,学习的话新手建议先阅读官方的 《 **[5.0入门系列教程](https://www.kancloud.cn/special/thinkphp5_quickstart)** 》
## ThinkPHP V5.0 官方权威QQ群
* [ThinkPHP5快速入门](https://www.kancloud.cn/thinkphp/thinkphp5_quickstart)专用 **9252394**(仅对快速入门教程付费用户)
* ThinkPHP5新手一群 **272433397**(已满)
* ThinkPHP5新手二群 **369126686**(已满)
* ThinkPHP5高级群 **50546480**(付费)
## 版权申明
发布本资料须遵守开放出版许可协议 1.0 或者更新版本。
未经版权所有者明确授权,禁止发行本文档及其被实质上修改的版本。
未经版权所有者事先授权,禁止将此作品及其衍生作品以标准(纸质)书籍形式发行。
如果有兴趣再发行或再版本手册的全部或部分内容,不论修改过与否,或者有任何问题,请联系版权所有者 thinkphp@qq.com。
对ThinkPHP有任何疑问或者建议,请进入官方讨论区 [ [http://www.thinkphp.cn/topic](http://www.thinkphp.cn/topic) ] 发布相关讨论。
有关ThinkPHP项目及本文档的最新资料,请及时访问ThinkPHP项目主站 [http://www.thinkphp.cn](http://www.thinkphp.cn/)。
> 本文档的版权归ThinkPHP文档小组所有,本文档及其描述的内容受有关法律的版权保护,对本文档内容的任何形式的非法复制,泄露或散布,将导致相应的法律责任。
## 推荐阅读(官方出品)
> 《[ThinkPHP5.0快速入门](https://www.kancloud.cn/thinkphp/thinkphp5_quickstart)》是学习和掌握`ThinkPHP5.0`不可多得的入门指引教程,针对新手用户由浅入深给出了详尽的使用(新手建议首先阅读快速入门后再查完全开发手册)。
> 《[ThinkPHP5.0路由完全指南](https://www.kancloud.cn/thinkphp/route-master)》是一本关于5.0路由用法的完全指南,详细和全面的介绍了路由的使用,并包含了很多的技巧和高级用法。
> 《[ThinkPHP5.0控制器从入门到精通](https://www.kancloud.cn/thinkphp/controller-in-detail)》以控制器的用法为主线,通过十讲的内容全面剖析了ThinkPHP`5.0`生命周期中的控制器角色是如何进行获取请求、数据验证、业务处理、异常处理、模板渲染,以及如何进行响应输出和行为扩展。
> 《[ThinkPHP5.0数据库和模型由浅入深](https://www.kancloud.cn/thinkphp/master-database-and-model)》是一本关于5.0数据库和模型用法的完全指南,采用通熟易懂的方式由浅入深讲解了数据库和模型的用法和技巧。
[![](https://box.kancloud.cn/2016-05-03_5727f95a84e31.jpg)](https://www.kancloud.cn/thinkphp/thinkphp5_quickstart) [![](https://box.kancloud.cn/c580bf72bfd9ae04073107b2c972749c_173x231.png)](https://www.kancloud.cn/thinkphp/route-master) [![](https://box.kancloud.cn/be8c10a0ee10bd13da3a0da8e5a4fda0_173x231.png)](https://www.kancloud.cn/thinkphp/controller-in-detail) [![](https://box.kancloud.cn/816748bb1606a714bfedd494ffb58392_173x231.png)](https://www.kancloud.cn/thinkphp/master-database-and-model)
- 序言
- 基础
- 安装ThinkPHP
- 开发规范
- 目录结构
- 架构
- 架构总览
- 生命周期
- 入口文件
- URL访问
- 模块设计
- 命名空间
- 自动加载
- Traits引入
- API友好
- 配置
- 配置目录
- 配置格式
- 配置加载
- 读取配置
- 动态配置
- 独立配置
- 配置作用域
- 环境变量配置
- 路由
- 路由模式
- 路由定义
- 批量注册
- 变量规则
- 组合变量
- 路由参数
- 路由地址
- 资源路由
- 快捷路由
- 路由别名
- 路由分组
- MISS路由
- 闭包支持
- 路由绑定
- 绑定模型
- 域名路由
- URL生成
- 控制器
- 控制器定义
- 控制器初始化
- 前置操作
- 跳转和重定向
- 空操作
- 空控制器
- 多级控制器
- 分层控制器
- Rest控制器
- 自动定位控制器
- 资源控制器
- 请求
- 请求信息
- 输入变量
- 更改变量
- 请求类型
- 请求伪装
- HTTP头信息
- 伪静态
- 方法注入
- 属性注入
- 参数绑定
- 依赖注入
- 请求缓存
- 数据库
- 连接数据库
- 基本使用
- 查询构造器
- 查询数据
- 添加数据
- 更新数据
- 删除数据
- 查询方法
- 查询语法
- 链式操作
- where
- table
- alias
- field
- order
- limit
- page
- group
- having
- join
- union
- distinct
- lock
- cache
- comment
- fetchSql
- force
- bind
- partition
- strict
- failException
- sequence
- 聚合查询
- 时间查询
- 高级查询
- 视图查询
- 子查询
- 原生查询
- 查询事件
- 事务操作
- 监听SQL
- 存储过程
- 数据集
- 分布式数据库
- 模型
- 定义
- 模型初始化
- 新增
- 更新
- 删除
- 查询
- 聚合
- 获取器
- 修改器
- 时间戳
- 只读字段
- 软删除
- 类型转换
- 数据完成
- 查询范围
- 模型分层
- 数组访问和转换
- JSON序列化
- 事件
- 关联
- 一对一关联
- 一对多关联
- 远程一对多
- 多对多关联
- 多态关联
- 动态属性
- 关联预载入
- 关联统计
- 聚合模型
- 视图
- 视图实例化
- 模板引擎
- 模板赋值
- 模板渲染
- 输出替换
- 模板
- 模板定位
- 模板标签
- 变量输出
- 系统变量
- 请求参数
- 使用函数
- 使用默认值
- 使用运算符
- 三元运算
- 原样输出
- 模板注释
- 模板布局
- 模板继承
- 包含文件
- 标签库
- 内置标签
- 循环输出标签
- 比较标签
- 条件判断
- 资源文件加载
- 标签嵌套
- 原生PHP
- 定义标签
- 日志
- 介绍
- 日志驱动
- 日志写入
- 独立日志
- 日志清空
- 写入授权
- 错误和调试
- 调试模式
- 异常处理
- 抛出异常
- Trace调试
- 变量调试
- 性能调试
- SQL调试
- 远程调试
- 404页面
- 验证
- 验证器
- 验证规则
- 错误信息
- 验证场景
- 控制器验证
- 模型验证
- 内置规则
- 静态调用
- 表单令牌
- 安全
- 输入安全
- 数据库安全
- 上传安全
- 其它安全建议
- 杂项
- 缓存
- Session
- Cookie
- 多语言
- 分页
- 上传
- 验证码
- 图像处理
- 文件处理
- 单元测试
- 扩展
- 函数
- 类库
- 行为
- 驱动
- Composer包
- Time
- 数据库迁移工具
- Workerman
- MongoDb
- SAE
- 标签扩展
- 命令行
- 自动生成目录结构
- 创建类库文件
- 生成类库映射文件
- 生成路由缓存
- 清除缓存文件
- 生成配置缓存文件
- 生成数据表字段缓存
- 自定义命令行
- 部署
- 虚拟主机环境
- Linux 主机环境
- URL重写
- 附录
- 配置参考
- 常量参考
- 助手函数
- 升级指导
- 更新日志