> #### 手册阅读须知:本手册仅针对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开发的应用开源或商业产品发布/销售。
> [![](https://img.kancloud.cn/23/12/2312472cc2dcb44ea31a77e3583820c3_900x209.png =728x)](https://sites.thinkphp.cn/1782366)
> [![](https://img.kancloud.cn/c9/45/c94547cb12304e618b6580b793cfb3cf_728x90.png)](https://docs.topthink.com/think-api)
> [![](https://e.topthink.com/api/item/685/pic =728x)](https://market.topthink.com)
>[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文档小组所有,本文档及其描述的内容受有关法律的版权保护,对本文档内容的任何形式的非法复制,泄露或散布,将导致相应的法律责任。
## 捐赠我们
**ThinkPHP一直在致力于简化企业和个人的WEB应用开发,您的帮助是对我们最大的支持和动力!**
我们的团队13年来一直在坚持不懈地努力,并坚持开源和免费提供使用,帮助开发人员更加方便的进行WEB应用的快速开发,如果您对我们的成果表示认同并且觉得对你有所帮助我们愿意接受来自各方面的捐赠^_^。
![](https://img.kancloud.cn/dc/3a/dc3a2a268f67218e6519c0c942dd891e_336x450.png) ![](https://img.kancloud.cn/e2/6e/e26e3b3b647c7693f24edecd83e8b8bc_352x450.png)
## 推荐阅读(官方出品)
> 《[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重写
- 附录
- 配置参考
- 常量参考
- 助手函数
- 升级指导
- 更新日志