ThinkPHP5.0版本是一個顛覆和重構版本,官方團隊歷時十月,傾注了大量的時間和精力,採用全新的架構思想,引入了更多的PHP新特性,優化了核心,減少了依賴,實現了真正的惰性載入,支援composer,並針對API開發做了大量的優化,包括路由、紀錄檔、異常、模型、資料庫、模板引擎和驗證等模組都已經重構,不適合原有3.2專案的升級,請慎重考慮商業專案升級,但絕對是新專案的首選(無論是WEB還是API開發)。
推薦課程:PHP教學。
[ 特性 ]
主要特性包括:
--------------------------------------------------------------
規範:遵循PSR-2、PSR-4規範,Composer及單元測試支援;
嚴謹:異常嚴謹的錯誤檢測和安全機制,詳細的紀錄檔資訊,為你的開發保駕護航;
靈活:減少核心依賴,擴充套件更靈活、方便,支援命令列指令擴充套件;
API友好:出色的效能和REST支援、遠端偵錯,更好的支援API開發;
高效:惰性載入,及路由、設定和自動載入的快取機制;
ORM:重構的資料庫、模型及關聯,MongoDb支援;
--------------------------------------------------------------
支援ThinkPHP5的使用者請到 Github 給我們一個`star` ^_^
相對於RC4版本,更新如下:
[ 請求和路由 ]
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
以上就是ThinkPHP5什麼時候出的的詳細內容,更多請關注TW511.COM其它相關文章!