PHP 8.3正式發佈 新增類型化類常量和覆蓋屬性

月23日PHP 8.3 正式發佈,最主要的變化是添加“類常量顯式類型”、“只讀屬性深拷貝”,“以及對隨機性功能的補充”,此外還包含性能改進、錯誤修復等內容。

最新版本的主要功能包括:

、新增#[\Oeide] 屬性

驗證標記有此屬性的方法是否實際上有一箇被重寫的父方法。它可以防止在刪除父方法時出現輸入錯誤或重構,這種情況會觸發致命錯誤。

2、類常量顯式類型

在類、接口或特性中聲明的常量現在可以被類型化。PHP和 JScipt 一樣,是一種動態語言,但對強類型的需求也在不斷增加,並逐漸增加了一些對應的支持。

3、新增 json_lidte () 函數

該函數檢查字符串是否爲有效的 JSON(JScipt 對象表示法),並且比 json_decode() 更高效。

4、只讀屬性深拷貝

該功能是解決 PHP 對只讀屬性支持這一“嚴重缺陷”的提案之一。非只讀類可以擴展只讀類的提案沒有被批准,但在拷貝期間重新初始化只讀屬性的能力得到了批准。在__clone()方法執行期間,只能重新初始化一次。

PHP 的新版本大約每 2 個月發佈一次,上一個版本是 2022 年 2 月發佈的PHP 8.2。PHP 每個版本都有兩年的主動支持和一年的安全支持。因此,PHP 8.0 的生命週期即將結束。早在 2022 年 月 26 日,PHP 8.0 結束了主動支持,而安全支持也將在 2023 年 月 26 日停止。