已批準(zhǔn)或很大概率包含的主要特性
1?? Randomizer
增強(qiáng)
Random
擴(kuò)展繼續(xù)增強(qiáng),增加更多可插拔的偽隨機(jī)數(shù)生成器(PRNG),支持更強(qiáng)的可復(fù)現(xiàn)性,提升密碼學(xué)隨機(jī)數(shù)安全性。
PHP 8.2 引入 Random\Engine
和 Randomizer
,8.6 會(huì)再補(bǔ)強(qiáng)接口和性能。
2?? array_is_list()
性能與新用法
array_is_list()
(PHP 8.1 引入)在 8.6 有可能支持對(duì)嵌套數(shù)組做快速檢測(cè),方便泛型容器庫開發(fā)者。
3?? #[\Override]
更嚴(yán)格
PHP 8.3 引入了 #[\Override]
屬性用于標(biāo)記一個(gè)方法必須覆蓋父類/接口中已聲明的方法,8.6 會(huì)對(duì) trait 中的覆蓋做更完善的檢查。
4?? gc_status()
垃圾回收(GC)狀態(tài)查詢將更標(biāo)準(zhǔn)化,gc_status()
返回更多可用信息,方便調(diào)試和性能分析。
5?? 反射 API 小幅增強(qiáng)
Reflection 對(duì) readonly
、enum
、intersection types
、disjunctive normal form types
等會(huì)有更多可編程支持。
6?? 新增幾個(gè)棄用(為 PHP 9 做準(zhǔn)備)
- mbstring、iconv 的一些重復(fù)或危險(xiǎn)的 legacy 函數(shù)會(huì)開始觸發(fā) E_DEPRECATED。
- 動(dòng)態(tài)屬性寫入會(huì)觸發(fā)更顯式的警告(8.2 已有,只是會(huì)更嚴(yán)格)。
- 隱式可選參數(shù)將被更強(qiáng)提示。
7?? FFI(外部函數(shù)接口)小幅增強(qiáng)
繼續(xù)增強(qiáng) FFI
(調(diào)用 C 語言庫),如更好的 union / struct 對(duì)齊支持。
8?? 錯(cuò)誤消息更可配置
有討論要支持更細(xì)粒度的錯(cuò)誤提示分組,讓 php.ini
可以自定義哪些 E_DEPRECATED
可升級(jí)為 E_ERROR
。
? 性能改進(jìn)(JIT & OPCache)
PHP 8.6 不會(huì)引入新的 JIT 模式,但會(huì)繼續(xù)優(yōu)化:
- OPCache 更智能的緩存失效策略;
- JIT 下部分內(nèi)置函數(shù)內(nèi)聯(lián)更徹底;
- 小函數(shù)鏈調(diào)用可自動(dòng) inline;
- 引入更多編譯期 AST 檢查。