首頁  >  文章  >  PHP8.1 正式發布,快來更新吧!

PHP8.1 正式發布,快來更新吧!

藏色散人
藏色散人原創
2021-11-26 14:47:224261瀏覽

終於把PHP8.1盼出來了! ! !詳見PHP官方公告:https://www.php.net/releases/8.1/en.php

PHP8.1 正式發布,快來更新吧!

PHP 8.1.0 現已發布,該版本帶來了許多改進和新功能。

枚舉

使用枚舉而不是一組常數並立即進行驗證。

PHP8.1 正式發布,快來更新吧!

只讀屬性

只讀屬性不能在初始化後更改,例如,在為它們分配值後。它們可以用於對值物件和資料傳輸物件建模。

PHP8.1 正式發布,快來更新吧!

First-class 可呼叫語法

現在可以取得任何函數的參考。

PHP8.1 正式發布,快來更新吧!

新的初始化器

物件現在可以用作預設參數值、靜態變數和全域常數,以及屬性參數,這有效地使使用嵌套屬性成為可能。

PHP8.1 正式發布,快來更新吧!

純交集類型

當一個值需要同時滿足多個類型限制時,使用交集類型。請注意,目前無法將交集和聯合類型混合在一起,例如 A&B|C。

PHP8.1 正式發布,快來更新吧!

Never 傳回類型

#使用never 類型宣告的函數或方法表示它不會傳回值,並且會拋出異常或透過呼叫die()、exit()、trigger_error() 或類似的東西來結束腳本的執行。

PHP8.1 正式發布,快來更新吧!

Final 類別常數

#可以宣告 final 類別常數,以禁止它們在子類別中被重寫。

PHP8.1 正式發布,快來更新吧!

明確八進位數字表示法

現在可以使用顯式 0o 前綴寫入八進位數字。

PHP8.1 正式發布,快來更新吧!

纖程

Fibers 是用來實現輕量級協作並發的原語。它們是一種創建可以像生成器一樣暫停和恢復的程式碼區塊的方法,但可以從堆疊中的任何位置進行。 Fibers 本身並沒有提供並發性,仍然需要一個事件循環。但是,它們允許透過阻塞和非阻塞實作共用相同的 API。 Fibers 允許擺脫先前在 Promise::then() 或基於生成器的協程中看到的樣板程式碼。函式庫通常會圍繞 Fiber 建立進一步的抽象,因此無需直接與它們互動。

PHP8.1 正式發布,快來更新吧!

對字串鍵控陣列的陣列解包支援

PHP 先前支援透過擴充運算子在陣列內部解包,但前提是數組具有整數鍵。現在也可以使用字串鍵解包數組。

PHP8.1 正式發布,快來更新吧!

效能最佳化

PHP 8.1 在效能方面也有一些改動,包括:

  • ARM64 的JIT 後端(AArch64)

  • 繼承快取(避免在每個請求中重新連結類別)

  • ##快速類別名解析(避免小寫和雜湊查找)

  • timelib 和ext/date 效能改進

  • SPL 檔案系統迭代器改進

  • 序列化/反序列化最佳化

  • 一些內部函數最佳化(get_declared_classes()、explode()、strtr()、strnatcmp()、dechex( ))

  • JIT 改進與修復

PHP8.1 正式發布,快來更新吧!#

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn