# 版本更新日志
[TOC=2,2]
## 2019-1-11 V5.0.24
本次更新包含了一個安全更新,建議更新
- 改進多對多關聯的`save`方法
- 改進模型數據驗證
- Collection增加`values`方法
- 改進`unique`驗證方法
- 改進Request類的`method`方法
## 2018-12-9 V5.0.23
本次版本更新主要涉及一個安全更新,推薦盡快更新到最新版本。
* Query支持調用模型的查詢范圍
* 聚合查詢字段支持`DISTINCT`
* 改進閉包驗證的參數
* 多對多關聯支持指定中間表數據名稱
* after/before驗證支持指定字段驗證
* 改進多對多關聯
* 改進驗證類
* 增加`afterWith`和`beforeWith`驗證規則 用于比較日期字段
* 完善規則提示
* 改進斷線重連
* 修正軟刪除的`destroy`方法
* 修復模型的`save`方法當`data`變量為空 數據不驗證
* 模型增加`replace`方法
* MorphOne 增加 make 方法創建關聯對象實例
* 改進`count`方法返回值類型
* 改進聚合查詢方法的正則判斷
* 改進`sqlsrv`驅動
* 完善關聯的`save`方法
* 修正控制器名獲取
## 2018-10-22 V5.0.22
該版本主要增加了JSON日志格式的支持,并且包含了一個安全更新。
調試模式下關閉路由解析緩存
* 改進Log類支持`json`日志格式
* 改進聚合查詢的安全性
* 改進`count`查詢的返回值類型
## 2018-9-7 V5.0.21
該版本主要做了一些已知問題的修正,改進了對Swoole的支持,以及增加路由解析緩存功能。
* 增加路由解析緩存功能
* 改進url生成的端口問題
* 改進緩存驅動
* 改進value方法的緩存處理
* 修正Builder類的insertAll方法
* 改進對Swoole的支持(使用參考:[xavier-swoole](https://github.com/xavieryang007/xavier-swooleundefined))
## 2018-5-11 V5.0.20
該版本為修正版本,修正了一些已知的問題。
* `join`方法的條件支持傳入`Expression`對象
* 改進驅動的`parseKey`方法
* 改進Request類的`host`方法
* 使用`exp`表達式更新數據的異常提示
* 修正查詢
* 改進多對多關聯的中間表模型更新
## 2018-4-25 V5.0.19
該版本屬于改進版本,主要改進了composer自動加載及內置模板引擎的一處可能的安全隱患。
* 改進composer自動加載
* 改進模板引擎一處安全隱患
* 改進`comment`方法解析
* 改進分布式寫入數據后及時讀取的問題
* 改進url操作方法的自動轉換
* 改進分頁類魔術方法的返回值
* SQL日志增加主從標記
## 2018-4-14 V5.0.18
該版本主要修正上一個發布的一些BUG,并且改進了`exp`表達式查詢/寫入的嚴謹性。
* 修正`field`方法`*`兼容問題;
* 修正`inc/dec`方法;
* 修正`setInc/setDec`方法;
* 改進`insertAll`方法;
* 改進`parseTime`方法;
* 改進`exp`表達式查詢/寫入的嚴謹性;
## 2018-4-12 V5.0.17
該版本主要是一些修正和改進,并且包含了一個安全更新。
* 改進Response類`create`方法
* 改進`inc/dec`查詢
* 默認模板渲染規則支持直接使用操作方法名
* 改進視圖驅動
* 改進Request類ip方法 支持代理設置
* 修正request類的`create`方法
* 閉包查詢使用`cache(true)`拋出異常
* 改進composer自動加載文件
* 增加`Expression`類及相關方法
## 2018-3-26 V5.0.16
該版本主要做了一些修正和改進,由于包含了一個安全更新,是一個推薦更新的版本。
* 改進Url生成
* 改進composer自動加載性能
* 改進一對一查詢
* 改進查詢緩存
* 改進field方法
* 優化Template類
* 修正分頁參數
* 改進默認模板的自動識別
* 改進Query類查詢
* Collection類改進
* 改進模型類`readTransform`方法對序列化類型的處理
* 改進trace顯示
* 文件日志支持自動清理
* 改進斷線重連的判斷
* 改進驗證方法
* 修正Query類view方法的數組表名定義
* 改進參數綁定
* 改進文件緩存的并發刪除
* 改進`inc/dec/exp`更新的安全性
* 增加控制臺配置
## 2018-1-31 V5.0.15
該版本主要進行了一些修正和完善
* 改進View類
* 改進chunk方法
* 改進模板引擎的表達式語法
* 改進自關聯查詢多級調用問題
* 關聯定義增加`selfRelation`方法用于設置是否自關聯
* 改進file類型的緩存`inc`和`dec`方法不改變緩存有效期
* 改進軟刪除 支持設置`deleteTime`屬性關閉
* 改進`union`查詢
* 改進查詢緩存
* 優化File緩存自動生成空目錄的問題
* 改進日志寫入并發問題
* 修正`MorphTo`關聯
* 改進`join`自關聯查詢
* 改進`case`標簽解析
* 改進Url類對`url_convert`配置的支持
## 2018-1-1 V5.0.14
V5.0.14版本主對復合主鍵進行了更多支持,改進了PHP7的兼容性,并且對數據庫的一些問題做了改進。
主要更新如下:
* 改進Validate類的unique驗證
* Validate類增加checkRule方法用于靜態驗證多個規則
* 改進多對多關聯的save方法
* 改進多對多的pivot對象
* 修正setDec方法的延遲寫入
* max和min方法增加第二個參數用于設置是否強制轉換數字
* 改進View類
* 改進join關聯自身的問題
* 改進union查詢
* 改進Url類
* 改進同名路由不同請求的注冊
* 改進Builder類parseData對空數組的判斷
* 改進模板替換
* 調整BelongsTo的hasWhere方法
* 改進模板的編譯緩存命名規則 增加布局模板的標識
* 改進insertall方法
* 改進chunk方法支持復合主鍵
* 改進Error類的一個兼容問題
* 改進model類的save方法的復合主鍵包含自增的情況
* save方法改進復合主鍵的支持
* 改進mysql的insertAll方法
* 改進redis長連接多編號庫的情況
## 2017-12-12 V5.0.13
`V5.0.13`主要是對模型和日志方面做了一些改進
### \[數據庫和模型\]
* 改進Model類`save`方法對`oracle`的支持
* 改進中間表模型的實例化
* 改進`Pivot`類
* 模型`saveall`方法支持配合`isUpdate`方法
* 模型類增加`force`方法設置是否強制更新所有數據
* 關聯自動刪除增加一對多關聯刪除支持
* 改進`hasWhere`查詢的數據重復問題
* 改進一對多`with`關聯查詢的`field`支持
* 模型`saveall`方法支持返回數據集 讀取`resultSetType`屬性
* 改進廢棄字段判斷
* 模型的`hasWhere`方法增加`fields`參數
* 改進斷線重連異常捕獲機制
* 修正Query類的`inc`和`dec`方法的Mysql關鍵詞問題
* 修正數據集對象的BUG
### \[其它\]
* 增加`app_dispatch`鉤子位置
* cookie類`httponly`參數默認改為false
* File日志驅動增加`single`參數配置是否記錄單個文件日志
* 單個日志文件支持大小設置
* 改進日志記錄的ip地址
* Redis緩存驅動改用`serialize`序列化替代json序列化
* 改進異常捕獲
* 改進上傳文件驗證
* 修正redis驅動
* 改進File緩存的`clear`方法
* 代碼格式化規范
* 改進一處PHP7.2的兼容問題
* 調試模式下不讀取字段緩存文件
* `default_filter`支持在模塊中配置生效
## 2017-11-06 V5.0.12
5.0.12是一個修正版本,包含了上個版本發布以來的一些修正和完善,主要包括:
* 上傳類和驗證類的多語言支持;
* 模型增加排除和廢棄字段支持;
* 改進insertAll方法的分批處理;
* 改進對枚舉類型的參數綁定支持;
* 修正社區反饋的問題;
### \[數據庫和模型\]
* 改進Connection類的getRealSql方法
* 改進append方法支持一對一關聯的bind設置
* 改進whereTime查詢
* 改進model類的`destroy`方法
* 修正softdelete
* 修正`chunk`方法對時間字段的支持
* Collection類增加`push`方法
* 改進alias方法
* 修正模型類的`append`處理
* 改進`appendRelationAttr`方法
* 改進HasManyThrough關聯
* 改進MorphTo關聯
* 模型增加廢除字段`disuse`定義
* 增加排除字段方法`except`
* 修正`has`方法
* 改進參數綁定類型對枚舉類型的支持
* 改進`insertAll`方法的分批處理
### \[其它\]
* 改進Loader類`controller`和`validate`方法支持多層
* 驗證提示信息支持多語言
* File類錯誤信息支持多語言
* 模板渲染異常處理
* 修正rest控制器
* 改進trace驅動
* 改進Cache類的`remember`方法
* 改進`url_common_param`的情況下urlencode的問題
* 改進Url類
* 改進`exception_handle`配置參數對閉包的支持
* 執行路由緩存命令前檢測RUNTIME\_PATH是否存在
* 調整部分`CacheDriver::dec`在為空的時候遞減的行為
* 優化移動端的顯示
* 改進對JSON-Handle插件的支持
* 改進redis的`get`方法
* 改進Request類的`host`方法
## 2017-09-08 V5.0.11
5.0.11是一個安全及修正版本,包含了上個版本發布以來的一些修正和完善,更新了幾處可能的安全問題,主要包括:
* 完善緩存驅動;
* 改進數據庫查詢;
* 改進URL生成類;
* 緩存有效期支持指定過期時間;
### \[數據庫和模型\]
* 改進數據庫驅動類
* 改進`group`方法的字段關鍵字沖突
* 修正聚合查詢返回null的問題
* 改進Db類的強制重連
* 改進關聯的屬性綁定
* 修正事務的斷線重連
* 修正對象的條件查詢
* Db類增加`clear`方法
* 改進數組查詢條件中的`null`查詢
* 改進Query類的`chunk`方法支持排序設置
* 改進HasOne和HasMany關聯的`has`方法
* 改進軟刪除的關聯刪除
* 改進一個字段多次查詢條件
### \[其它\]
* 緩存有效期支持指定過期時間(`DateTime`);
* 改進Url生成對端口號的支持
* 改進`RouteNotFound`異常提示
* 改進路由分組的全局完整路由匹配
* 修正部分驗證規則的錯誤提示問題
* 支持數據集和模型的XML響應輸出
* 改進模板的三元運算標簽
* 改進控制器不存在的錯誤提示
* input助手函數支持`route`變量獲取
* 支持在配置文件中讀取額外配置參數
* 完善分頁類
* 修復Trait命名空間重復問題
* 修正Request類的env方法
* 優先使用Cookie中的多語言設置
* 獲取緩存標簽的時候過濾無效的緩存標識
* 修正路由批量注冊的一個BUG
* `exception_handle`配置參數支持使用閉包定義`render`處理
* 請求緩存支持緩存標簽設置
* 緩存類`remember`方法增加并發鎖定機制
* 改進上傳類對`swf`的支持
* 改進Session類的`prefix`方法
## 2017-07-04 V5.0.10
5.0.10是一個修正版本,并包含了一個安全更新,推薦更新,主要包含:
* 數據庫和模型的多處改進
* 添加新的行為監聽
* 路由支持Response設置
* 改進調試模式下數據庫敏感信息暴露
### \[數據庫和模型\]
* 修正join其他表時生成的delete語句錯誤
* 修正遠程一對多
* insertall支持replace
* 修正多對多默認的中間表獲取
* 改進更新后的模型`update_time`數據更新
* model類增加`removeRelation`方法
* 模型類增加`setInc`和`setDec`方法
* 模型類增加`autoWriteTimestamp`方法動態設置時間字段寫入
* 改進驅動類方法的斷線重連判斷
* 改進多對多的數據更新
* 改進BelongsToMany關聯查詢
* 修正Query類的value和column方法
* 改進in查詢的去重問題
* 修正模型類的scope方法傳值問題
* 調整模型的save方法`before_update`檢查位置
* 修改器和獲取器方法支持第三個關聯數據參數
### \[其它\]
* 默認關閉調試模式
* 修復配置extra目錄臨時文件的錯誤加載
* 添加log存儲完成行為監聽 `log_write_done`
* 改進Build類生成公共文件的目錄判斷
* 增加`response_send`行為監聽
* 路由增加response參數用于綁定response處理行為
* 改進redirect的參數傳入
* 改進環境變量的布爾值讀取
* 改進Url類的域名傳入
* 修正命令行文件生成
* 改進命令行下面的URL生成
* 添加`app_host`參數設置默認的URL根地址
* 改進`Request`類`isSsl`方法判斷支持CDN
* 增加`record_trace`配置參數用于日志記錄trace信息
## 2017-05-20 V5.0.9
5.0.9是一個修正版本,推薦更新,主要更新包含:
### \[數據庫和模型\]
* 修正關聯自動寫入
* 修正模型數據變化判斷對為空數據的支持
* 修正Query類的useSoftDelete方法返回值
* 修正一對一嵌套關聯數組定義的問題
* 修正使用了手動參數綁定的時候的緩存BUG
* 改進數據庫類的一處不能嵌套查詢的缺陷
* 改進數據庫斷線重連判斷
* 改進模型的appendRelationAttr方法
* 改進模型類destroy方法傳入空數組的時候不進行任何刪除操作
* 改進一對多關聯數據的輸出
* 改進模型的save方法對allowField方法的支持
* 改進分頁類的toarray方法 增加總頁數
* 比較運算增加閉包子查詢支持
* db助手函數默認不再強制重新連接
* 改進belongsToMany的查詢字段指定
* 分頁類增加each方法
### \[其它\]
* 修正路由分組的路由規則大小寫識別問題
* 修正命令行的日志切割生成
* 修復URL生成時路由規則中的參數沒有進行 urlencode
* 改進Request類的filter過濾機制 支持正則
* 改進Response類支持手動設置contentType
* 修正異常模板中助手函數未定義錯誤
## 2017-04-28 V5.0.8
### 主要調整
* 改進關聯模型
* 改進日志記錄
* 增加多態一對一關聯
* 修正社區反饋的一些BUG
### \[ 請求和路由 \]
* 修正Request類`cookie`方法對前綴的支持
* 改進全局請求緩存的緩存標識
* 改進Request類`param`方法
* 修正別名路由
### \[ 模型和數據庫 \]
* 改進模型數據的更新檢查
* 改進Query類的`column`方法
* 改進軟刪除條件在使用閉包查詢情況下多次生成的問題
* belongsToMany增加數據同步方法
* 查詢范圍支持靜態調用
* 增加多態一對一(MorphOne)關聯
* 改進BelongsTo關聯
* 改進多態關聯支持關聯數據添加和注銷
* 改進多對多關聯,支持中間表模型自定義 并且定義的時候不需要使用完整表名
* 改進浮點數類型轉換避免出現逗號
* 調整關聯模型的save方法返回值
* 模型類的get方法第一個參數必須 如果傳入null則返回null
* model的save方法改進如果數據沒有更新不執行
* Query增加`useSoftDelete`方法可以單獨設置軟刪除條件
* 重載BelongsToMany的`selectOrFail`和`findOrFail`方法
* 重載BelongsToMany的`select` 、`find`和 `paginate`方法
* 增加模型和`Pivot`對象的`parent`屬性
* 多對多關聯支持設置中間表模型
* 改進Query類的`view`方法中字段的關鍵字問題
* 主從數據庫的時候開啟事務始終操作主庫
### \[ 其它 \]
* 改進Cookie類的`get`方法支持獲取全部
* `schema`指令增加`config`參數,支持傳入數據庫連接配置
* 改進cache類的`store`方法為當次有效
* 修正cache助手函數對`option`傳參的支持
* 修復`optimize:autoload`命令在`EXTEND_PATH`目錄不存在的情況下,類庫映射生成錯誤問題
* 支持自定義的根命名空間也可以生成類庫映射緩存
* 驗證字段比較支持對比其他字段
* 修復`Session::prefix('xxx');`設置當前作用域BUG
* 改進`optimize::schema`指令
* 修復`clear`指令無法刪除多級目錄下文件的問題
* 改進默認語言讀取和自動偵測
* 改進日志記錄格式 并且命令行下面日志改為實時寫入
* 修正模板標簽默認值某些情況無效bug
* 改進Url生成對完整域名的支持
* 改進`Clear`指令不刪除`.gitignore` 文件
* 修復Memcache緩存驅動的`inc`方法
### 調整
* 如果自定義了應用的命名空間的話,原來的`app_namespace`配置參數改為`APP_NAMESPACE`常量在入口文件中定義
* 多對多關聯的中間表名稱不需要添加表前綴
* 模型的scope方法之后只能使用數據庫查詢方法而不能使用模型的方法
## 2017-02-24 V5.0.7
### 主要調整
本次更新主要為BUG修正和改進,主要改進如下:
* 改進全局請求緩存對子域名的支持;
* 改進數據緩存自動更新機制;
* 關聯統計支持指定統計屬性名;
* 模型嵌套關聯支持數組方式;
* HasOne關聯支持`has`和`hasWhere`方法;
* 路由的`ext`和`deny_ext`參數允許設置為空(表示不允許任何后綴或者必須使用后綴訪問);
### 修正如下
* 修正 IN / NOT IN 型查詢條件為空導致的 sql 語法錯誤
* 修正分頁類的`toArray`方法對簡潔模式的支持
* 修正Model類`delete`方法對多主鍵的處理
* 修正軟刪除對`Mongodb`的支持
* 修正`Connection`類一處可能的錯誤
* 改進Query類的find方法的緩存機制
* 修正BelongsTo關聯
* 修正JOIN方式一對一關聯預載入閉包查詢
* 修正Query類的`insert`方法一處可能存在的警告錯誤
* 修正Model類一處Collection的`use`沖突
* 修正Model類`hasWhere`方法
* 修正URl生成對`ext`參數的支持
* 文件緩存`clear`方法會刪除空目錄
* 修正Route類的`parseUrlPath`方法一處問題
### 調整如下
* 默認關閉session的安全參數`secure`,此選項僅能在HTTPS下設置開啟
## 2017-02-07 V5.0.6
### 主要調整:
本次更新主要為BUG修正及優化(可無縫升級):
* 數據庫支持斷線重連機制;
* 改進查詢事件的回調參數;
* 改進數據自動緩存機制;
* 增加時間字段自動格式轉換設置;
* `MongoDb`和`Oracle`擴展更新至最新核心框架;
### \[數據庫和模型\]
* 修正hasMany關聯的`has`方法
* 去除一些數據庫慣例配置 避免使用數據庫擴展的時候影響
* 改進多對多的`attach`方法的返回值
* 增加Mysql的斷線重連機制和開關
* 改進Query類的`find`方法數據緩存機制
* 改進Query類查詢事件的回調參數
* 改進Query類的自動緩存更新
* Model類增加`readonly`方法
* 改進Model類的`has`和`hasWhere`方法
* 改進模型類的`get`和`all`方法 第二個參數為true或者數字表示緩存參數
* 修復閉包查詢條件為空導致的 sql 語法錯誤
* 改進Query類的`setBuilder`方法 避免因自定義連接器類后找不到生成器類
* 刪除Connection類廢棄屬性`resultSetType`
* 優化Connection類`close`方法
* 修正Connection類的`bindParam`方法對存儲過程的支持
* 數據庫配置參數`datetime_format` 設置為`false`表示關閉時間字段自動轉換輸出
* 改進軟刪除的數據庫兼容性問題 支持`Mongodb`
### \[其它\]
* 改進Url類生成 `root`為`/`的情況
* redirect助手函數和controller類的redirect方法增加with參數
* 全局請求緩存添加排除規則 添加request\_cache\_except配置參數
* Cache類store方法參數允許為空 表示獲取當前緩存驅動句柄
* 改進Validate類的ip驗證規則
## 2017-01-23 V5.0.5
### 主要調整:
本次更新主要改進了數據訪問層和模型關聯:
* 增加快捷查詢及設置方法;
* 增加關聯統計功能;
* 增加關聯查詢延遲預載入功能;
* 增加關聯一對一自動寫入和刪除;
* 改進存儲過程查詢;
* 改進關聯數據輸出;
* 優化查詢性能;
* 模型時間字段自動格式化輸出;
### \[請求和路由\]
* 改進路由定義的后綴檢測
* Route類的`rest`方法支持覆蓋定義
* 改進Request類的`put`和`post`方法對`json`格式參數的接收
* Request類增加`contentType`方法
* 改進Route類`setRule`方法
* 改進Request類的`create`方法
* 改進路由到控制器類的方法對默認渲染模板的影響
* 修正Url類`build`方法定義路由別名后的BUG
### \[數據庫和模型\]
* 增加關聯統計功能
* 增加一對一關聯自動寫入功能
* 修正聚合模型的`delete`方法
* 改進Model類的`useGlobalScope`方法
* Model類的日期類型支持設置為類名
* Query類增加`data`/`inc`/`dec`/`exp`方法用于快捷設置數據 `insert`和`update`方法參數可以為空 讀取`data`設置數據
* 優化Connection的查詢性能
* 修正Builder類的`parseOrder`方法
* 修正BelongsToMany類的`attach`方法
* BelongsToMany類的`attach`方法改進 支持批量寫入
* 改進BelongsToMany類的`saveall`方法 增加第三個參數 用于指定額外參數是否一致
* Query類的`order`方法支持多次調用合并
* 改進`count`方法對`group`查詢的支持
* 增加時間戳自動寫入的判斷
* 改進Model類`writeTransform`方法
* 改進Model的時間戳字段寫入和讀取
* 寫入數據為對象的時候檢測是否有`__toString`方法
* 改進Mysql驅動的`getFields`方法
* 改進自動時間字段的輸出
* `like`查詢條件支持數組
* 自動時間字段的獲取自動使用時間格式化
* 改進單個字段多次Or查詢情況的查詢
* 修正`null`查詢的條件合并
* 改進Query類`paginate`方法第一個參數可以使用數組參數
* 改進數據集對象的返回,由Query類的select方法進行數據集轉換,原生查詢不再支持返回數據集對象
* 增加`whereNull`、`whereIn`等一系列快捷查詢方法
* `fetchPdo`方法調整
* 改進對存儲過程調用的支持 改進`getRealSql`的調用機制 改進數據表字段使用中劃線的參數綁定支持
* 數據庫配置參數增加`result_type` 用于設置數據返回類型 方法參數名稱調整
* 改進Query類的`whereTime`方法支持更多的時間日期表達式(默認查詢條件為大于指定時間表達式)
* 取消`min`/`max`/`sum`/`avg`方法的參數默認值
* Query類增加`getPdo`方法用于返回`PDOStatement`對象
* 改進`today`的日期表達式查詢
* 改進關聯屬性的獲取
* 改進關聯定義中包含查詢條件后重復執行的問題
* 改進參數綁定支持中文字段自動綁定
* 改進Builder類的`insertall`方法 增加對null和對象數據的處理
* 改進參數綁定類型 支持`bit`類型自動綁定
* Connection類`model`方法更改為`getQuery`
* 優化Connection類`__call`方法
* 修正聚合模型
* 一對一關聯預載入默認改為IN查詢方式
* 增加`collection`助手函數用于數據集轉換
* 增加`load_relation`助手函數用于數組的延遲預載入
* 改進Model類的`has`方法第二個參數支持使用數組和閉包,無需再使用`hasWhere`
* `relation`方法支持嵌套關聯查詢
* 增加`think\model\Collection`作為模型的數據集查詢集合對象
* 取消關聯定義的`alias`參數(僅`morphTo`保留)
* Model類的`delete`方法,支持沒有主鍵的情況
* Model類的`allowField`方法支持逗號分割的字符串
* 改進寫入數據的自動參數綁定的參數名混淆問題
* 關聯預載入查詢的屬性名默認使用小寫+下劃線命名
* Query類的`with`和`relation`方法支持多次調用
* Collection類增加`hidden`、`visible`和`append`方法
* 修正軟刪除的強制刪除方法
### \[其它\]
* `unique`驗證規則支持指定完整模型類 并且默認會優先檢測模型類是否存在 不存在則檢測數據表
* 改進`Loader`類的`model`、`controller` 和 `validate`方法 支持直接傳入類名實例化
* `Session`類增加安全選項`httponly`和`secure`
* 可以允許自定義`Output`的driver,以適應命令行模式下調用其它命令行指令
* 改進`loader`類`action`的參數污染問題
* Validate類的`confirm`驗證改為恒等判斷
* 改進`Validate`類的錯誤信息處理
* 修正`Validate`類的布爾值規則驗證
* 改進`cookie`助手函數對前綴的支持
* 文件緩存默認開啟子目錄緩存避免文件過多導致性能問題
### \[調整\]
* Connection類`model`方法更改為`getQuery`
* 原生查詢不再支持返回數據集對象
* 分頁查詢返回類型變成`think\Paginator`(用法不變)
* 模型的時間日期字段會自動進行格式化輸出,不需要進行額外處理。
* Session類添加了`secure`和`httponly`參數,并且默認是true
## 2016-12-20 V5.0.4
### 主要調整:
* 關聯模型重構并增加多態一對多關聯;
* 數據庫支持一個字段多次調用不同查詢條件;
* 增加數據庫CURD事件支持;
* 路由到類和控制器的方法支持傳入額外參數;
* 支持全局模板變量賦值;
* 模型支持獨立設置查詢數據集對象;
* 日志針對命令行及調試做出改進;
* 改進Hook類的行為方法調用
### \[請求和路由\]
* 請求緩存支持模塊單獨開啟
* Request類`post`方法支持獲取`json`方式的請求數據
* 路由到類的方法和控制器方法 支持傳入額外參數,用于方法的參數
* 改進控制器自動搜索的目錄規范
* 改進請求緩存
* 改進自動參數綁定
* 修正路由的請求緩存設置
* 改進Route類name方法
### \[數據庫和模型\]
* 增加數據庫查詢(CURD)事件
* 改進多表更新的字段不存在問題
* 改進Model類的`useGlobalScope`方法
* 修正子查詢作為表名查詢的問題
* Model類增加`resultSetType`屬性 用于指定模型查詢的數據集對象(默認為空返回數組)
* Model類增加`toCollection`方法(自動調用)
* 關聯模型架構調整
* 改進預載入`with`方法的參數支持小寫和下劃線定義
* 修正關聯多對多一處錯誤
* 改進關聯多對多的查詢
* 關聯模型支持多態一對多關聯
* 預載入關聯查詢支持關聯對象屬性綁定到當前模型
* 支持追加關聯對象的屬性到當前模型數據
* 一對一關聯預載入支持JOIN和IN兩種方式(默認為JOIN)
* 改進多對多查詢
* 改進模型更新的數據變化比較規則
* 查詢支持一個字段多次查詢條件
* 改進sql日志的sql語句
* 修正`join`自身表的別名覆蓋問題
* 模型類的`connection`屬性和數據庫默認配置合并
* 改進`in`和`between`查詢條件的自動參數綁定
* 改進Query類對數據集對象以及關聯字段排序的支持
* 增加模型的快捷事件方法
* 改進Query類的`getTableInfo`方法緩存讀取
* model類的`saveAll`方法支持調用`allowField`方法進行字段過濾
* 修正關聯查詢的時候 `whereTime`方法的bug
* 改進Query類的聚合查詢
* table方法支持字符串方式的子查詢
* 修正`count` `avg`方法使用`fetchsql`無法正確返回sql的問題
### \[其它\]
* 改進命令行下的日志記錄
* 部署模式下簡化日志記錄
* 增加debug日志類型 僅限調試模式記錄
* 改進Template類`parseTemplateFile`方法
* 改進Validate類的`getRuleMsg`方法
* 控制器的`error`方法在AJAX請求默認返回url為空
* Validate類架構方法增加`field`參數 用于設置驗證字段的描述
* 改進App類`invokeMethod`方法對架構函數依賴注入的支持
* 增加RedirectResponse的`restore`方法返回值
* View類增加`share`靜態方法 用于靜態賦值模板變量
* 驗證類增加`hasScene`方法判斷是否存在某個場景的驗證配置
* 修正redis和session驅動的`destroy`方法返回值
* 空操作方法的參數傳入去掉操作方法后綴
* 在控制器中調用request和view增加類型提示
* 改進`input`助手函數支持多維數據獲取
* Cache類增加`pull`和`remember`方法
* 改進驗證類的`confirm`驗證規則 支持自動規則識別
* 改進驗證類的錯誤信息定義
* 增加Validate類自定義驗證錯誤信息的替換規則
* Cookie類增加`forever`方法用于永久保存
* 模板渲染支持從視圖根目錄讀取模板
* 改進Hook類的exec方法
### \[調整\]
* Db類查詢不再支持設置自定義數據集對象
* 廢除Query類的`fetchClass`方法
* 控制器的`error`方法在AJAX請求默認返回的url為空
* 關聯方法定義不支持使用小寫下劃線,必須使用駝峰法
* 行為類的方法必須使用駝峰法命名
## 2016-11-11 V5.0.3
### 主要調整:
* 請求緩存增強;
* 路由增強;
* 數據庫和模型完善;
* 支持反射的異常捕獲;
* File類改進;
* 修正社區反饋的一些BUG;
### \[ 請求和路由 \]
* 資源路由自動注冊的路由規則的時候會記錄當前使用的資源標識;
* 增強請求緩存功能和規則定義,支持全局自動緩存
* 修正控制器自動搜索的大小寫問題
* 修正路由綁定到命名空間后 類的自動定位
* 改進Route類的parseRule方法 路由地址中的變量替換不自動去除路由變量
* 改進控制器自動搜索
* Route類增加setOption和getOption方法 用于記錄當前路由執行過程中的參數信息
* 優化路由分組方法
* 改進分組路由的url生成
### \[ 數據庫和模型 \]
* 一對一關聯查詢方法支持定義`field`方法
* 聚合模型支持設置`field`屬性
* 改進Query類的`alias`方法
* 改進Query類`join`和`view`方法的table參數
* 改進Query類`where`方法
* 改進Query類的`paginate`方法,支持`order`方法
* 改進Query類的`min`和`max`方法支持日期類型
* 修正軟刪除`withTrashed`方法
* 優化Connection類的`getRealSql`方法生成的sql
### \[ 其它 \]
* 增加request\_cache和request\_cache\_expire配置參數用于配置全局請求緩存;
* 修正input助手函數的數組過濾
* cache助手函數支持清空操作
* 改進Config類load方法 一級配置名稱強制轉為小寫
* 修正Url多次生成的問題
* File類修正某些環境下面無法識別上傳文件的問題
* 改進App類的空操作方法調用
* 域名部署URL生成不依賴 url\_domain\_deploy 配置參數
* 修正Url類域名部署的問題
* 視圖文件目錄支持集中式存放 不放入模塊目錄
* cache助手函數支持 remember方法
* Request類的input方法或者input助手函數的`filter`參數支持傳入null 表示不過濾
## 2016-10-24 V5.0.2
### 主要調整:
* 數據庫和模型完善;
* 路由功能完善;
* 增加`yaml`配置格式支持;
* 依賴注入完善;
* Session類完善;
* Cookie類完善;
* Validate類完善;
* 支持反射類的異常捕獲;
* 修正社區反饋BUG;
### \[ 請求和路由 \]
* 依賴注入的類如果定義了`invoke`方法則自動調用
* Request類的`header`方法增加自定義header支持
* Request類禁止直接實例化調用
* 改進Request類ip方法
* 路由變量規則支持閉包定義
* 路由參數增加`ajax`和`pjax`判斷
* 別名路由增加允許和排除操作
* 改進路由域名綁定后的url生成
* 路由生成改進對路由到類的支持
* 路由生成支持`url_param_type`配置參數
* 路由生成支持別名路由
* Route重定向規則支持更多`schema`
* 別名路由支持定義單獨方法的請求類型
* 改進路由分組的url生成
* 路由規則的組合變量支持可選分隔符定義
* 改進路由合并參數的獲取
* 路由規則支持單獨設置url分隔符,路由參數為 `param_depr`
* 自動搜索控制器支持自定義訪問控制器層的情況
* 改進路由標識不區分大小寫
* 改進路由地址是否定義過路由規則的檢測
### \[ 數據庫和模型 \]
* 改進Query類的join方法
* 改進Query類分頁方法的參數綁定
* 修正軟刪除方法
* 修正Query類parseOrder方法一處錯誤
* 修正sqlsrv驅動parseOrder方法
* 修正Query類setInc和setDec方法
* 改進Model類的save方法支持非自增主鍵的處理
* 整型字段的參數綁定如果為空寫入默認值0
* 改進Model類has和hasWhere方法
* 改進Query類的value方法緩存判斷
* 改進Query類join方法對子查詢支持
* 改進Query類的table方法和alias方法用法
* 關聯預載入支持`hasOne`自關聯
* 改進Builder類的parseKey方法
* 改進Builder類的join/alias/table方法的解析
* 改進全局查詢范圍
* 改進Query類的聚合查詢方法的返回值
* 改進關聯屬性的讀取
* 改進聚合模型主鍵和關聯鍵相同的情況
* 改進模型在開啟`class_suffix`參數情況下的name屬性的識別
### \[ 其它 \]
* Cache類增加`remember`方法 用于當獲取的緩存不存在的時候自動寫入
* Session類增加`flash`方法用于設置下一次請求有效的值
* Session類增加`flush`方法用于清空當前請求有效的值
* Session類增加`push`方法用于更新數組數據
* 增加yaml配置格式支持
* 改進App類的反射異常無法捕獲問題
* 修正session助手函數的清空操作
* 改進驗證類的`image`方法
* 改進驗證類的`activeUrl`方法
* 改進自定義驗證規則的使用
* 改進控制器自動搜索后的控制器名獲取
* 修正import方法加載extend目錄類庫
* 修正json\_encode時 "Failed calling XXX::jsonSerialize()" 的異常
* 改進Loader類model和validate方法的單例問題
* 改進方法執行的日志記錄
* 改進模板引擎的Think變量解析
* 改進Lang類`load`方法
* 驗證錯誤信息支持多語言讀取
* 改進ROOT\_PATH常量
* 改進語言包加載
* 改進模板session和cookie變量獲取,自動判斷前綴
* 緩存驅動統一增加handler方法用于獲取操作對象的句柄(某些緩存類型可能為null)
* File類增加`__call`方法用于兼容5.0版本的`md5`和 `sha1`方法
* 改進文件緩存驅動的`clear`方法
* Lang類增加`setLangCookieExpire`方法設置多語言cookie過期時間
* 增加`route_complete_match`配置參數
### \[ 調整 \]
下列模型屬性和方法由原來的靜態(static)定義改為動態定義:
* 聚合模型的`relationModel`屬性
* Model類的`useGlobalScope`屬性
* 全局查詢范圍方法`base`改為動態方法
* 軟刪除屬性 `deleteTime`屬性
## 2016-9-28 V5.0.1
### 主要調整:
* [依賴注入](215849undefined)完善;
* [擴展配置](118027undefined)文件位置調整;
* 新增數據表[字段緩存命令](211524undefined);
* 支持設置當前的查詢對象;
* 支持[請求和路由緩存](215850undefined);
### \[ 請求和路由 \]
* 改進Controller類的`success`和`error`方法的跳轉地址識別 支持更多Scheme
* 操作方法和架構方法支持任何對象自動注入
* Requesst類增加`getInput`方法 用于獲取`php://input`值
* 路由到方法的時候 支持架構方法注入請求對象
* 改進Route類路由到類的判斷
* Request增加`cache`方法,支持請求緩存
* 綁定到模塊后 路由依然優先檢查
* 路由增加請求緩存參數
* 修正路由組合變量的可選變量的BUG
### \[ 數據庫 \]
* 修正`pgsql`數據庫驅動的數據表字段信息讀取
* 改進Query類的`view`方法 第二個參數默認值更改為true 獲取全部的字段
* 數據庫配置信息增加`query`參數用于配置查詢對象名稱
* 型類增加`query`屬性用于配置模型需要的查詢對象名稱
* 改進數據表字段緩存讀取
* 改進數據表字段緩存生成 模型為抽象類或者 沒有繼承Model類 不生成字段緩存
* 改進模型的字段緩存 虛擬模型不生成字段緩存
* 改進數據表字段緩存生成 支持讀取模塊的模型生成
* 改進聚合模型的`save`方法 主鍵寫入
* 模型類的field屬性定義簡化 取消`Query`類的`allowField`和`setFieldType`方法及相關屬性
* 改進數據表字段緩存生成 支持生成多個數據庫的
* 更新數據庫驅動類 改進`getTables`方法
* 增加`optimize:schema` 命令 用于生成數據表字段信息緩存
* 修正一個查詢條件多個條件的時候的參數綁定BUG
* 分頁查詢方法`paginate`第二個參數傳入數字表示總記錄數
* 修正mysql的`JSON`字段查詢
* 改進Query類的getOptions方法 當name參數不存在的時候返回null
### \[ 模型和關聯 \]
* 模型類的field屬性不需要添加字段類型定義
* 改進Model類 添加`getDb`靜態方法獲取db查詢對象
* 改進聚合模型`save`方法返回值
* 改進Relation類`save`方法
* 修正關聯模型 多對多`save`方法一處問題
* 改進Model類的save方法 修正不按主鍵查詢的更新問題
* 時間字段獲取器獲取的時候為NULL則不做轉換
### \[ 其它 \]
* 改進配置緩存生成 支持擴展配置
* 取消`extra_config_list`配置參數 擴展配置文件直接放到 `extra`目錄下面即可自動加載(數據庫配置文件位置不變)
* cache助手函數支持判斷緩存是否有效
* 修正 模板引擎驅動類的`config`方法
* 修復在配置Model屬性field=true情況下,通過`__call`調用db()引發的BUG
* 改進模板引擎驅動的config方法 支持獲取配置參數值
* 改進redirct的url地址解析
* 刪除`File`類的`md5`和`sha1`方法 改為`hash`方法 支持更多的散列值類型生成
* 增加`response_end`行為標簽
* 改進默認語言的加載
## 2016-9-15 V5.0
### \[ 請求和路由 \]
* Request對象支持動態綁定屬性
* 定義了路由規則的URL原地址禁止訪問
* 改進路由規則存儲結構
* 路由分組功能增強,支持嵌套和虛擬分組
* 路由URL高效反解
* 改進Request對象param方法獲取優先級
* 路由增加name方法設置和獲取路由標識
* 增加MISS和AUTO路由規則
* Route類增加auto方法 支持注冊一個自動解析URL的路由
* 路由規則支持模型綁定
* 路由變量統一使用param方法獲取
* 路由規則標識功能和自動標識
* 增加生成路由緩存指令 optimize:route
* Request對象增加route方法單獨獲取路由變量
* Request對象的param get post put request delete server cookie env方法的第一個參數傳入false 則表示獲取原始數據 不進行過濾
* 改進自動路由標識生成 支持不同的路由規則 指向同一個路由標識,改進Url自動生成對路由標識的支持
* 改進Request類 filter屬性的初始化
* 改進Request類的isAjax和isPjax方法
* Request類增加token方法
* 路由配置文件支持多個 使用 route\_config\_file 配置參數配置
* 域名綁定支持https檢測
* 改進域名綁定 支持同時綁定模塊和其他 支持綁定到數組定義的路由規則,取消域名綁定到分組
* 路由規則增加PATCH請求類型支持
* 增加route\_complete\_match配置參數設置全局路由規則定義是否采用完整匹配 可以由路由規則的參數complete\_match 進行覆蓋
* 改進路由的 后綴參數識別 優先于系統的偽靜態后綴參數
* Url類增加root方法用于指定當前root地址(不含域名)
* 改進Url生成對可選參數的支持
### \[ 數據庫 \]
* 查詢條件自動參數綁定
* 改進分頁方法支持參數綁定
* Query類的cache方法增加緩存標簽參數
* Query類的update和delete方法支持調用cache方法 會自動清除指定key的緩存 配合查詢方法的cache方法一起使用
* 改進Query類的延遲寫入方法
* Query類的column和value方法支持fetchsql
* 改進日期查詢方法
* 改進存儲過程方法exec的支持
* 改進Connection類的getLastInsID方法獲取
* 記錄數據庫的連接日志(連接時間和DSN)
* 改進Query類的select方法的返回結果集判斷
* Connection類增加getNumRows方法
* 數據庫事務方法取消返回值
* 改進Query類的chunk方法對主鍵的獲取
* 改進當數據庫驅動類型使用完整命名空間的時候 Query類的builder方法的問題
### \[ 模型 \]
* 增加軟刪除功能
* 關聯模型和預載入改進
* 關聯預載入查詢閉包支持更多的連貫操作
* 完善savell方法支持更新和驗證
* 關聯定義統一返回Relation類
* Model類的has和hasWhere方法對join類型的支持
* Model類的data方法 批量賦值數據的時候 清空原始數據
* Model類的get方法第三個參數傳入true的時候會自動更新緩存
* Model類增加只讀字段支持
* Model類增加useGlobalScope方法設置是否啟用全局查詢范圍
* Model類的base方法改為靜態定義 全局多次調用有效
* Model類支持設定主鍵、字段信息和字段類型,不依賴自動獲取,提高性能
* Model類的data方法 支持修改器
* 改進Relation類對非數字類型主鍵的支持
* 改進Relation類的一對多刪除
* 修正Relation類的一對多關聯預載入查詢
### \[ 日志和緩存 \]
* 支持日志類型分離存儲
* 日志允許設置記錄級別
* 增加緩存標簽功能
* 緩存類增加pull方法用于獲取并刪除
* cache助手函數增加tag參數
* 簡化日志信息,隱藏數據庫密碼
* 增加cache/session redis驅動的庫選擇邏輯;
* memcached驅動的配置參數支持option參數
* 調試模式下面 日志記錄增加頁面的header和param參數記錄
* memcached緩存驅動增加連接賬號密碼參數
* 緩存支持設置complex類型 支持配置多種緩存并用store切換
* 緩存類增加tag方法 用于緩存標簽設置 clear方法支持清除某個緩存標簽的數據
* File類型日志驅動支持設置單獨文件記錄不同的日志級別
* 改進文件緩存和日志的存儲文件名命名規范
* 緩存類增加inc和dec方法 針對數值型數據提供自增和自減操作
* Cache類增加has方法 get方法支持默認值
### \[ 其它 \]
* 視圖類支持設置模板引擎參數
* 增加表單令牌生成和驗證
* 增加中文驗證規則
* 增加image和文件相關驗證規則
* 重定向Response對象支持with方法隱含傳參
* 改進Session類自動初始化
* session類增加pull方法用于獲取并刪除
* 增加Env類用于獲取環境變量
* Request類get/post/put等更改賦值后param方法依然有效
* 改進Jump跳轉地址支持Url::build 解析
* 優化Hook類
* 應用調試模式和頁面trace支持環境變量設置
* config助手函數支持 config('?name') 用法
* 支持使用BIND\_MODULE常量的方式綁定模塊
* 入口文件自動綁定模塊功能
* 改進驗證異常類的錯誤信息和模板輸出,支持批量驗證的錯誤信息拋出
* 完善console 增加output一些常用的方法
* 增加token助手函數 用于在頁面快速顯示令牌
* 增加halt方法用于變量調試并中斷輸出
* 改進Validate類的number驗證規則 和 integer區分開
* optimize:autoload增加對extend擴展目錄的掃描
* 改進Validate類的boolean驗證規則 支持表單數據
* 改進cookie助手函數支持 判斷是否存在某個cookie值
* 改進abort助手函數 支持拋出HttpResponseException異常
* 改進File類增加對上傳錯誤的處理
* 改進File類move方法的返回對象增加上傳表單信息,增加獲取文件散列值的方法
* 改進File類的move方法的返回對象改為返回File對象實例
* 增加clear和optimize:config 指令
* 改進File類和Validate類的圖像文件類型驗證
* 控制器的操作方法支持注入Request之外的對象實例
* Request類 param(true) 支持獲取帶文件的數據
* input助手函數第一個參數增加默認值
* Validate類增加image驗證規則 并改進max min length支持多種數據類型
* json輸出時數據編碼失敗后拋出異常
### \[ 調整 \]
* 廢除路由映射(靜態路由)定義
* 取消url\_deny\_suffix配置 改由路由的deny\_ext參數設置
* 模型save方法返回值改為影響的記錄數,取消getId參數
* Request對象controller方法返回駝峰控制器名
* 控制器前置操作方法不存在則拋出異常
* Loader類db方法增加name標識參數
* db助手函數增加第三個參數用于指定連接標識
* Sqlsrv驅動默認不對數據表字段進行小寫轉換
* 移除sae驅動 改為擴展包
* Oracle驅動移出核心包
* Firebird驅動移出核心包
* 取消別名定義文件alias.php
* 配置參數讀取的時候取消環境變量判斷 需要讀取環境變量的時候使用Env類
* 環境變量定義文件更改為 .env 由原來的PHP數組改為ini格式定義(支持數組方式)
* 狀態配置和擴展配置的加載順序調整 便于狀態配置文件中可以更改擴展配置的參數
* 取消域名綁定到路由分組功能
* 控制器類的success和error方法url參數支持傳入空字符串,則不做任何處理
* 控制器的error success result redirect方法均不需要使用return
* 創建目錄的權限修改為0644
## 2016-7-1 RC4版本
### \[ 底層架構 \]
* 增加Request類 并支持自動注入
* 統一Composer的自動加載機制
* 增加Response類的子類擴展
* 增加File類用于上傳和文件操作
* 取消模式擴展 SAE支持降權
* 優化框架入口文件
* 改進異常機制
* App類輸入/輸出調整
* 單元測試的完美支持
* 增加新的控制臺指令
* 取消系統路徑之外的大部分常量定義
* 類庫映射文件由命令行動態生成 包含應用類庫
### \[ 數據庫 \]
* 增加分表規則方法
* 增加日期和時間表達式查詢方法
* 增加分頁查詢方法
* 增加視圖查詢方法
* 默認保持數據表字段大小寫
* 數據緩存自動更新機制
* 完善事務嵌套支持
* 改進存儲過程數據讀取
* 支持設置數據庫查詢數據集返回類型
### \[ 模型 \]
* 增加Merge擴展模型
* 模型支持動態查詢
* 增加更多的類型自動轉換支持
* 增加全局查詢范圍
* toJson/toArray支持隱藏和增加屬性輸出
* 增加遠程一對多關聯
### \[ 其它 \]
* 日志存儲結構調整
* Trace調試功能從日志類獨立并增強
* 原Input類功能并入Request類
* 類庫映射文件采用命令行生成 包含應用類庫
* 驗證類的check方法data數據取消引用傳參
* 路由增加MISS路由規則
* 路由增加路由別名功能
## 2016-4-23 RC3版本
### \[ 底層架構 \]
* 框架核心倉庫和應用倉庫分離 便于composer獨立更新
* 數據庫類重構,拆分為Connection(連接器)/Query(查詢器)/Builder(SQL生成器)
* 模型類重構,更加對象化
### \[ 數據庫 \]
* 新的查詢語法
* 閉包查詢和閉包事務
* Query對象查詢
* 數據分批處理
* 數據庫SQL執行監聽
### \[ 模型 \]
* 對象化操作
* 支持靜態調用(查詢)
* 支持讀取器/修改器
* 時間戳字段
* 對象/數組訪問
* JSON序列化
* 事件觸發
* 命名范圍
* 類型自動轉換
* 數據驗證和完成
* 關聯查詢/寫入
* 關聯預載入
### \[ 其它更新 \]
* 路由類增加快速路由支持
* 驗證Validate類重構
* Build類增加快速創建模塊的方法
* Url生成類改進
* Validate類改進
* View類及模板引擎驅動設計改進
* 取消模板引擎的模板主題設計
* 修正社區反饋的一些問題
* 助手函數重新命名
* `router.php`文件位置移動
## 2016-3-11 RC2版本
* 重新設計的自動驗證和自動完成機制(原有自動驗證和完成支持采用traits\\model\\Auto兼容);
* 驗證類Validate獨立設計;
* 自動生成功能交給Console完成;
* 對數據表字段大小寫的處理;
* 改進Controller類(取消traits\\contorller\\View);
* 改進Input類;
* 改進Url類;
* 改進Cookie類;
* 優化Loader類;
* 優化Route類;
* 優化Template類;
* Session類自動初始化;
* 增加traits\\model\\Bulk模型擴展用于大批量數據寫入和更新;
* 緩存類和日志類增加Test驅動;
* 對異常機制和錯誤處理的改進;
* 增加URL控制器和操作是否自動轉換開關;
* 支持類名后綴設置;
* 取消操作綁定到類的功能;
* 取消use\_db\_switch參數設計;
## 2016-1-30 RC1版本
### \[ 底層架構 \]
* 真正的惰性加載
* 核心類庫組件化
* 框架引導文件
* 完善的類庫自動加載(支持Composer)
* 采用Traits擴展
* API友好(輸出、異常和調試)
* 文件命名規范調整
### \[ 調試和異常 \]
* 專為API開發而設計的輸出、調試和異常處理
* 日志類支持本地文件/SAE/頁面Trace/SocketLog輸出,可以實現遠程瀏覽器插件調試
* 內置trace方法直接遠程調試
* 異常預警通知驅動設計
* 數據庫SQL性能分析支持
### \[ 路由 \]
* 動態注冊路由
* 自定義路由檢測方法
* 路由分組功能
* 規則路由中的變量支持采用正則規則定義(包括全局和局部)
* 閉包路由
* 支持路由到多層控制器
### \[ 控制器 \]
* 控制器類無需繼承controller類
* 靈活的多層控制器支持
* 可以Traits引入高級控制器功能
* rest/yar/rpc/hprose/jsonrpc控制器擴展
* 前置操作方法支持排除和指定操作
### \[ 模型 \]
* 簡化的核心模型
* Traits引入高級模型/視圖模型/關聯模型
* 主從分布時候主數據庫讀操作支持
* 改進的join方法和order方法
### \[ 視圖 \]
* 視圖解析驅動設計(模板引擎)
* 所有方法不再直接輸出而是返回交由系統統一輸出處理
* 動態切換模板主題設計
* 動態切換模板引擎設計
### \[ 數據庫 \]
* 完全基于PDO實現
* 簡化的數據庫驅動設計
* SQL性能監控(需要開啟數據庫調試模式)
* PDO參數綁定改進
### \[ 其他方面 \]
* 目錄和MVC文件自動生成支持
* I函數默認添加變量修飾符為/s
* 一個行為類里面支持為多個標簽位定義不同的方法
* 更多的社交擴展類庫
- 序言
- 基礎
- 安裝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重寫
- 附錄
- 配置參考
- 常量參考
- 助手函數
- 升級指導
- 更新日志