> #### 手冊閱讀須知:本手冊僅針對ThinkPHP5.0版本
***
# ThinkPHP V5.0——為API開發而設計的高性能框架

### V5.0版本由[七牛云](http://www.qiniu.com/)獨家贊助發布

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入門系列教程](http://www.hmoore.net/special/thinkphp5_quickstart)** 》
## ThinkPHP V5.0 官方權威QQ群
* [ThinkPHP5快速入門](http://www.hmoore.net/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快速入門](http://www.hmoore.net/thinkphp/thinkphp5_quickstart)》是學習和掌握`ThinkPHP5.0`不可多得的入門指引教程,針對新手用戶由淺入深給出了詳盡的使用(新手建議首先閱讀快速入門后再查完全開發手冊)。
> 《[ThinkPHP5.0路由完全指南](http://www.hmoore.net/thinkphp/route-master)》是一本關于5.0路由用法的完全指南,詳細和全面的介紹了路由的使用,并包含了很多的技巧和高級用法。
> 《[ThinkPHP5.0控制器從入門到精通](http://www.hmoore.net/thinkphp/controller-in-detail)》以控制器的用法為主線,通過十講的內容全面剖析了ThinkPHP`5.0`生命周期中的控制器角色是如何進行獲取請求、數據驗證、業務處理、異常處理、模板渲染,以及如何進行響應輸出和行為擴展。
> 《[ThinkPHP5.0數據庫和模型由淺入深](http://www.hmoore.net/thinkphp/master-database-and-model)》是一本關于5.0數據庫和模型用法的完全指南,采用通熟易懂的方式由淺入深講解了數據庫和模型的用法和技巧。
[](http://www.hmoore.net/thinkphp/thinkphp5_quickstart) [](http://www.hmoore.net/thinkphp/route-master) [](http://www.hmoore.net/thinkphp/controller-in-detail) [](http://www.hmoore.net/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重寫
- 附錄
- 配置參考
- 常量參考
- 助手函數
- 升級指導
- 更新日志