thinkphp6.0,ThinkPHP V5.0 正式版發布

 2023-10-21 阅读 21 评论 0

摘要:ThinkPHP5.0版本是一個顛覆和重構版本,官方團隊歷時十月,傾注了大量的時間和精力,采用全新的架構思想,引入了更多的PHP新特性,優化了核心,減少了依賴,實現了真正的惰性加載,支持composer,并針對API開發做了大

ThinkPHP5.0版本是一個顛覆和重構版本,官方團隊歷時十月,傾注了大量的時間和精力,采用全新的架構思想,引入了更多的PHP新特性,優化了核心,減少了依賴,實現了真正的惰性加載,支持composer,并針對API開發做了大量的優化,包括路由、日志、異常、模型、數據庫、模板引擎和驗證等模塊都已經重構,不適合原有3.2項目的升級,請慎重考慮商業項目升級,但絕對是新項目的首選(無論是WEB還是API開發)。

ThinkPHP V5.0——為API開發而設計的高性能框架



[ 特性 ]

主要特性包括:
--------------------------------------------------------------
規范:遵循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

[ 文檔 ]

5.0完全開發手冊和5.0快速入門

[ 下載地址 ]

官網:http://www.thinkphp.cn/down/845.html
GitHub:?https://github.com/top-think/think.git?(主要維護倉庫 官方核心團隊)
Composer: composer create-project topthink/think tp5 --prefer-dist

[ 擴展包 ]

下面是針對ThinkPHP5的擴展包 需要使用Composer安裝
應用單元測試:https://github.com/top-think/think-testing.git
驗證碼:https://github.com/top-think/think-captcha.git
隊列:https://github.com/top-think/think-queue.git
MongoDb支持:https://github.com/top-think/think-mongo.git
angular模板引擎:https://github.com/top-think/think-angular.git
助手庫:https://github.com/top-think/think-helper.git
數據庫遷移工具:https://github.com/top-think/think-migration.git

?

轉載于:https://www.cnblogs.com/chinalorin/p/5883802.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/155536.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息