PHP 8.1新特性公布 增加 Enums、Fsync功能
當大多數(shù)人的 Linux 發(fā)行版的默認包中還沒有升級到 PHP 8.0,更不用說在生產(chǎn)環(huán)境中了,PHP 8.1 正在開發(fā)中,預計正式發(fā)布時間在 11 月底左右。日程安排和大多數(shù)年份一樣,在連續(xù)發(fā)布三個雙周的 Alpha 版本之后,PHP 8.1 功能凍結(jié)預計在七月底,然后再進入測試版,然后是許多候選版本。
如果一切順利,PHP 8.1.0 將在 11 月 25 日發(fā)布。至于 PHP 8.1 將會帶來什么,到目前為止,已知的變化包括:
- Enums 將被引入。PHP 終于在語言中引入了枚舉。關(guān)于新增的細節(jié)可以通過這個 RFC 找到:https://wiki.php.net/rfc/enumerations
- PHP 8.1 引入了 fsync () 函數(shù),以幫助確保操作系統(tǒng)已經(jīng)將數(shù)據(jù)變化(和 metdata)寫入底層存儲。還有一個新的 fdatasync ()函數(shù)只關(guān)注同步數(shù)據(jù),而不是元數(shù)據(jù)--或者說在 Windows/非 POSIX 環(huán)境下的行為與 fsync ()相同。
- PHP 性能改進的工作繼續(xù)進行,帶來更多的優(yōu)化。到目前為止,其中一個細節(jié)是 PHP 8.1 opcache 增加了一個繼承緩存,這應(yīng)該有助于減少 PHP 類繼承的開銷。
- 增加了對 "Fibers"的支持,以改善 PHP 中的異步支持。這些變化使得 PHP 函數(shù)現(xiàn)在可以在不污染調(diào)用棧的情況下完成中斷,并且支持現(xiàn)有接口的透明非阻塞 I/O 實現(xiàn)。
- PHP 8.1 散列代碼增加了 xxHash 和 MurmurHash V3 支持。
- 繼續(xù) PHP8 的工作,將更多的資源過渡到對象。對于 PHP 8.1,fileinfo、GD、FTP、IMAP、LDAP 和其他代碼的資源將會被過渡到對象。
隨著 11 月發(fā)布日期的臨近,請繼續(xù)關(guān)注 PHP 8.1 功能工作的更多細節(jié)。