首頁 後端開發 php教程 PHP8.2最新進展,即將進行新功能凍結!

PHP8.2最新進展,即將進行新功能凍結!

Jul 04, 2022 pm 01:54 PM
php

PHP基金會每月都會在部落格上發表當月的PHP核心的最新進展。本文介紹的是6月的進展。

PHP8.2 的QA 版本和特性凍結

#PHP8.2計劃於11 月24 日 發布, PHP的版本發行管理員們已經發布了PHP8.2的Alpha 1和Alpha 2的版本。

這些Alpha 版本不適合用於生產環境,而是用作測試環境和本地開發的版本節點。

已經編譯的windows版本可以在https://windows.php.net/qa/ 上找到,Docker 映像可以在Docker Hub 上找到,原始碼在Github 上的php/php-src中,可自行編譯,在Homebrew 上,PHP 8.2-dev 軟體包可從shivammathur/php 查看相關指令。

7 月 19 日 是 PHP 8.2 特性凍結日期,在此之後PHP8.2不在接收新的特性建議。 PHP的新特性都有2週的討論期和2週的投票期。在特性凍結之前必須對所有的RFC(提案)進行投票。

RFC的更新

上次在 PHP8.2會有哪些改變(效能改善、新功能)! 中介紹了一部分已經通過的新特性,如今又有一些新特性被投票通過,還有一些正在進行中。

已實作:允許false和null作為獨立型別

在先前的文章中已經介紹過,有些開發者並不看好這件事,認為false作為獨立類型並沒有什麼用。在這之前false只能和其他型別一起聯合聲明。

你可以在PHP的播客中了解對開發者George Peter Banyard的訪談。 https://phpinternals.news/99 ,他提到大量的傳統函數會在內部回傳false和拋出例外。並不會回傳有實際意義的東西,回傳false也許是為了中斷目前函數程式碼的執行。所以使用false作為獨立的回傳值也是有意義的。

已實現:允許true作為獨立類型

#早在之前的文章中,小編就提到過,false可以作為獨立的類型(並且進行聲明),但是true卻不行。此提案建議新增true作為獨立類型,使PHP的類型系統根據表現力。

已通過:隨機擴展5.x

#是Go Kudo 提出的RFC 的第五次迭代,改進PHP的隨機數產生器,並且將一些列的改動移動到單獨的擴充中。

已通過:為is_callable新增棄用通知,並新增callable類型

PHP以後將棄用is_callable函數的部分錶現,但在PHP8.2中只會產生棄用通知。這樣做的原因,簡單來講,is_callable使用起來語法混亂。但注意,is_callable只是放棄了判斷字串的用法,例如is_callable(‘myFunction’),對於其他類型仍然是可用的,例如一個變數代表的是一個回呼函數。

已通過:析取範式類型

#該提案提議PHP支持更多的類型聲明組合,例如:

(A&B&D)|int|null
登入後複製

就是說該值有可能是null,有可能是整數型,也有可能是實作了A介面、B介面、D介面的物件。

對此可以查看提案詳情:https://wiki.php.net/rfc/dnf_types

更多的RFC

還有更多討論中的提案,下面做一個簡單的介紹和連結。

討論中:新的CURL RUL API(增加curl類別和url類別)

#討論中:const聲明時使用枚舉屬性值

#討論中:PDO程序中特性的子類別(能夠提高對sqlite、pgsql的支援)

討論中:使iterator_*() 系列接受所有可迭代物件(目前只接受Traversables,但不接受array)

討論中:在枚舉中實作自動Stringable(但仍然不能自訂覆蓋)

討論中:短閉包(匿名函數想要使用外部變數必須使用use聲明,短閉包可以解決這樣的問題(,跟js的箭頭函數效果一樣))

提到的文章連結:

  • #PHP8.2的windows版本( https://windows .php.net/qa/ )

  • PHP8.2的docker 映像( https://hub.docker.com/_/php?tab=tags&page=1&name=8.2.0 )

  • PHP8.2的原始碼託管位址( https://github.com/php/php-src )

  • PHP8.2的Mac工具Homebrew 安裝( https://github.com/shivammathur/homebrew-php )

  • PHP8.2會有哪些新東西? ( https://phpreturn.com/index/a626a74a300dc5.html )

  • 提案:false和null作為獨立類型( https://wiki.php.net/rfc/null -false-standalone-types )

  • 對於(將false和null作為獨立類型)提案的開發者訪談( https://phpinternals.news/99 )

  • 提案:將true作為獨立類型( https://wiki.php.net/rfc/true-type )

  • #提案:對is_callable的棄用通知( https://wiki.php. net/rfc/partially-supported-callables-expand-deprecation-notices )

  • ##提案:析取範式類型( https://wiki.php.net/rfc/dnf_types )

  • 提案:新的CURL URL API ( https://wiki.php.net/rfc/curl-url-api )

  • 提案:const宣告使用枚舉屬性值( https://wiki.php.net/rfc/fetch_property_in_const_expressions )

  • 提案:PDO的特定子類別( https://wiki.php .net/rfc/pdo_driver_specific_subclasses )

  • 提案:擴大iterator的可迭代多項( https://wiki.php.net/rfc/iterator_xyz_accept_array )

#################################### #####提案:在沒居中實作自動Stringable( https://wiki.php.net/rfc/auto-implement_stringable_for_string_backed_enums )############# 提案:短閉包(https: //wiki.php.net/rfc/auto-capture-closure )############關於PHP更多合併說明可以查看:https://thephp.foundation/blog/2022/06 /30/php-core-roundup-3/#merged-prs-and-commits#########英文原文網址:https://thephp.foundation/blog/2022/06/30/php- core-roundup-3/######轉載網址:https://phpreturn.com/index/a62be479ae1e02.html######原文平台:PHP武器庫######版權聲明:本文由phpreturn.com(PHP武器庫官網)原創和首發,所有權利歸phpreturn(PHP武器庫)所有,本站允許任何形式的轉載/引用文章,但必須同時註明出處。 #########推薦學習:《###PHP影片教學###》###

以上是PHP8.2最新進展,即將進行新功能凍結!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

CakePHP 專案配置 CakePHP 專案配置 Sep 10, 2024 pm 05:25 PM

CakePHP 專案配置

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

CakePHP 路由

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

討論 CakePHP

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 快速指南

See all articles