ThinkPHP 釋出 5.2 Beta2 版本——統一併精簡大量用法
PHP/">ThinkPHP5.2第二個Beta
測試版本釋出了。這次主要改進了fetchSql
方法的處理機制,統一和簡化了很多查詢用法。(安裝和基本使用請ofollow,noindex">參考這裡
)
主要更新
改進了fetchSql的解析機制
引入了單獨的Fetch
類單獨處理fetchSql
方法,確保Query
類查詢方法的返回型別不受fetchSql
影響。
統一和精簡了查詢用法
本次測試版本統一和精簡了很多查詢用法,讓你不會再有一個查詢功能多種用法的困擾,便於制定團隊規範。
-
get
/all
查詢方法統一為find
/select
方法; -
取消
fetchPdo
方法,返回PDO物件統一使用pdo
查詢方法; -
廢棄
resultset_type
配置統一使用fetchCollection
方法; -
取消
readMaster
方法,統一使用master
方法; -
模型
save
方法不支援傳入條件,統一查詢和更新方法呼叫; -
取消
db
/model
助手函式,統一使用類呼叫;
增加了fetchArray
方法
如果使用了模型查詢,現在可以通過呼叫fetchArray
方法,查詢結果將始終返回陣列資料。方便一些統計圖表的資料傳入。
時間欄位寫入改用DateTime
類
時間欄位的自動操作改用DateTime
類,支援微秒級時間記錄,提供更高精度的系統時間記錄。
只需要設定資料表時間欄位的小數位精度即可自動記錄,如果需要輸出微秒精度資料,設定dateTimeFormat
格式即可。
模型增加schema
屬性
模型增加schema
屬性支援,用於定義對應資料表的欄位及型別資訊,並且支援使用PHP變數型別定義。定義了該屬性後,無需使用optimize:schema
即可提升查詢效能,以及自動識別字段的引數繫結型別。
模型的type
屬性僅用於設定自動型別轉換的資料表字段。
支援應用公共函式檔案
多應用模式下,支援載入應用的公共函式檔案。
多入口檔案自動識別
如果沒有在應用入口檔案中指定應用名,入口檔案訪問的時候可以自動識別當前的應用名稱。預設會取當前應用入口的檔名作為應用名。
部分方法不再支援
以下用法出於實用性或精簡考慮不再支援:
-
Query
類的fetchPdo
方法(可以使用pdo
方法替代); -
Query
類的get
/all
/getOrFail
/allOrFail
方法; -
模型類的
save
方法不再支援where
引數; -
Query
類和模型類的readMaster
方法,該方法在swoole
下無法正常使用(需要的話手動呼叫master
方法); -
模型類的
setInc
和setDec
方法; -
資料庫的
resultset_type
設定(需要的話呼叫
fetchCollection
方法); -
db
助手函式(使用Db
類靜態方法替代);
更新日誌
-
改進
join
方法的table
引數解析 -
廢棄save方法的
where
引數 -
取消模型類的
setInc
和setDec
方法 -
改進模型欄位資訊的獲取
-
取消模型和Db類的
readMaster
方法 -
改進引數繫結型別獲取
-
Query類增加
fetchArray
方法 支援模型查詢返回陣列型別 -
時間欄位自動寫入改為使用
DateTime
類,支援微秒資料 -
改進驗證類 擴充套件驗證規則的時候不檢查是否require
-
改進查詢CURD方法
-
修正模型輸出
-
改進
update
方法 -
修正
insertGetId
方法 -
修正
getFieldType
方法 -
改進
think schema
指令 -
改進快取和日誌的路徑獲取
-
刪除
db
助手函式 修正幾個助手函式 -
Builder類
select
方法增加第二個引數 -
取消
resultset_type
設定 -
修正動態查詢方法的
fetchsql
處理 -
改進多應用入口檔案的自動識別
-
修正server方法的返回型別
-
多應用模式允許載入公共函式檔案
-
修正路由類
getBind
方法 -
改進
session
配置引數 -
修正資源路由
-
改進
console
類 -
修正
make
指令 -
改進控制器
assign
方法 -
修正
Cookie
類 -
修正
request
類 -
修正
console
除錯驅動 -
取消Query類的
get
/all
方法 統一使用find
/select
方法 -
取消
fetchPdo
方法 -
修正
insertall
的limit
引數 -
改進嚴格模式下的錯誤
-
改進
fetchSql
方法 增加Fetch
物件