首頁 >頭條 >2021年的PHP,不負眾望

2021年的PHP,不負眾望

PHPz
PHPz原創
2021-05-20 14:05:1513239瀏覽

每年一次,我回顧PHP世界中的最新發展,並期待未來的發展。就像2020年和2019年一樣,我們又來了!

就像我一次又一次地說:PHP與十年前的語言不一樣,對此我們非常感謝。這是一種快速可靠的語言,用於大規模建立大型應用程式。因此,讓我們討論一下去年PHP對語言和社群的一些最顯著變化。

PHP 8及更高版本

新的主要版本PHP 8於去年底推出。我在該主題上寫了很多文章,在這裡我不會複製/貼上所有內容。與往常一樣,效能僅在提高,如Kinsta所做的基準測試所示。

還有一個JIT確實可以改善某些專案的效能,而且如果您不使用共用主機,則預先載入會對整體專案產生正面的影響。

我認為諸如屬性(也稱為「註解」),命名參數和提升的屬性之類的功能也值得一提,因為它們無疑對PHP 8如此出色的發布做出了貢獻。

同時,核心團隊已經在開發新版本的PHP 8.1,該版本將於2021年底發布。目前,最重要的功能是枚舉和纖維,我將在本文稍後再次提及它們。郵政。

年復一年,核心團隊成功地為社群帶來了一個新的穩定版本,其中包含許多功能和生活品質的改進。升級路徑也不再那麼困難了。我將自己的一些專案從PHP 7.4升級到PHP 8,每個專案只花了一個小時左右的時間。確實沒有任何理由留在後面!

PHP的類型系統

關於類型,實際上確實有一些非常令人振奮的消息:枚舉將在PHP 8.1中添加。最重要的是,我們也看到一些靜態分析工具的維護者透過登陸第一個RFC為PHP的原始程式碼做出了貢獻。這增加了never類型,這對於靜態分析是有用的。

說到靜態分析工具,PhpStorm增加了對Psalm和PhpStan的內建支持,這是邁向更廣泛適應的重要一步。

不幸的是,仍然沒有對仿製藥的支持。有一些主要的路障,特別是因為我們仍在處理動態類型的語言。尼基塔在這裡概述了這些問題。就我個人而言,我的方法將是簡單的方法:僅支援運行時擦除的泛型,並依賴靜態分析。這不僅需要技術上的解決方案,還需要整個PHP社群的思維轉變。也許有一天它會成為一個可行的選擇,但到目前為止還沒有。

非同步PHP

最近有一個大新聞:PHP正在獲得協程—又稱。綠色線程—在PHP 8.1!雖然,纖維(也就是所謂的纖維)可能並沒有您想像的那麼大改​​變遊戲規則。

即使光纖本身可能只是大型非同步電腦中的一小塊齒輪,但RFC再次引起了人們對非同步社群的關注,對此我們只能感到高興。非同步框架(例如Amphp和ReactPHP)正變得越來越流行,最近Laravel宣布了對Swoole的內建支援。

社群

我不能不提及事實上的標準軟體套件管理器Composer。它在2020年10月發布了一個新的主要版本:Composer 2.0。此版本具有一些UX改進,但最重要的是實現了極大的性能改進,有時甚至在全新安裝時其速度也提高了三倍。

說到作曲家,我喜歡透過查看一段時間內可用的軟體包來衡量PHP生態系統的當前狀態。去年,我談到每天的下載量為2500萬次,而今天這一數字已增長了一倍以上,而我們的每日下載量為6000萬次。

最後,看一下該圖,列出隨著時間的推移軟體包和版本的數量。也可以在他們的網站上找到它。您可以清楚地看到一個健康的生態系統正在成長,而且沒有盡頭。

2021年的PHP,不負眾望

語言

最後,讓我們回顧一下最近幾年PHP新增的所有內容。如果您沒有跟上它的發展,那麼您真的想檢查一下此清單。我認為這表明社區和核心開發團隊在最近幾年中的成長,我相信還會有更多的成長。

Enums

Fibers

Attributes

Named Arguments

Match

Constructor Property Promotion

Short closures

Null coalescing operator

Traits

Typed properties

Spread operator

The JIT

FFI

Return type declarations

Generators

#所有這些要說的是:PHP還活著並且做得很好。每年,我對語言的發展方向感到更加滿意,並希望在未來的許多年中使用它!

php中文網翻譯自:https://stitcher.io/blog/php-in-2021,感謝原作者Brent!

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