每年我都會(huì)回顧PHP世界的新發(fā)展并期待未來(lái)的發(fā)展。就像2020年和2019年一樣,我們又來(lái)了!
正如我一次又一次說(shuō)過(guò)的,PHP 已經(jīng)不是10 年前的語(yǔ)言了。一種快速可靠的語(yǔ)言,用于大規(guī)模構(gòu)建大型應(yīng)用程序。因此,讓我們討論過(guò)去一年P(guān)HP 語(yǔ)言和社區(qū)發(fā)生的一些重要的變化。
PHP8 或更高
去年在年底發(fā)布了新的主要版本PHP 8。我已經(jīng)寫(xiě)了很多關(guān)于這個(gè)主題的文章,我不會(huì)在這里復(fù)制/粘貼所有內(nèi)容。與往常一樣,從Kinsta 執(zhí)行的基準(zhǔn)測(cè)試中可以看出,性能正在提高。
還有一些JIT 確實(shí)可以提高某些項(xiàng)目的性能,如果您不使用共享主機(jī),預(yù)加載它們將對(duì)整個(gè)項(xiàng)目產(chǎn)生積極影響。
我認(rèn)為還值得一提的是特性(有時(shí)稱(chēng)為“注釋”)、命名參數(shù)和提升的特性等特性。因?yàn)檫@些特性無(wú)疑促成了PHP 8 的偉大發(fā)布。
同時(shí),核心團(tuán)隊(duì)已經(jīng)在著手開(kāi)發(fā)新版本的PHP 8.1,將于2021 年在年底發(fā)布。目前,重要的特性是枚舉和纖維,我們將在本文后面介紹。明信片。
每年,核心團(tuán)隊(duì)都會(huì)成功地為社區(qū)帶來(lái)一個(gè)新的穩(wěn)定版本,該版本具有許多功能和生活質(zhì)量改進(jìn)。升級(jí)之路不再艱難。我將一些項(xiàng)目從PHP 7.4 升級(jí)到PHP 8。每個(gè)項(xiàng)目只用了大約一個(gè)小時(shí)。真的沒(méi)有理由不落后!
PHP 的類(lèi)型系統(tǒng)
關(guān)于類(lèi)型,實(shí)際上有一些非常有趣的消息。枚舉是在PHP 8.1 中添加的。重要的是,我看到一些靜態(tài)分析工具的維護(hù)者登錄到第一個(gè)RFC 并貢獻(xiàn)PHP 源代碼。這添加了一個(gè)對(duì)靜態(tài)分析有用的Never 類(lèi)型。
在靜態(tài)分析工具方面,PhpStorm 添加了對(duì)Spec 和PhpStan 的內(nèi)置支持,這是邁向廣泛采用的重要一步。
不幸的是,仍然沒(méi)有對(duì)仿制藥的支持。有一些主要障礙,特別是因?yàn)槲覀內(nèi)栽谔幚韯?dòng)態(tài)類(lèi)型語(yǔ)言。 Nikita 在這里解決了這些問(wèn)題。就個(gè)人而言,我的方法很簡(jiǎn)單。它只支持在運(yùn)行時(shí)清除的泛型并依賴(lài)于靜態(tài)分析。這不僅需要技術(shù)解決方案,還需要整個(gè)PHP 社區(qū)的思維方式轉(zhuǎn)變。有一天它可能是一個(gè)可行的選擇,但到目前為止還沒(méi)有。
異步PHP
近有一些好消息。 PHP 協(xié)程(又名:又名綠色線(xiàn)程- PHP 8.1!但是纖維(所謂的纖維)可能不會(huì)像您想象的那樣改變游戲規(guī)則。
雖然光纖本身可能是大型異步計(jì)算機(jī)的小設(shè)備,但RFC再次吸引了人們對(duì)異步社區(qū)的關(guān)注,我們不禁為此感到高興。異步框架(如Amphp 和ReactPHP)越來(lái)越流行,Laravel 近宣布內(nèi)置對(duì)Swoole 的支持。
社區(qū)
更不用說(shuō)Composer,事實(shí)上的標(biāo)準(zhǔn)包管理器。 2020 年10 月,我們發(fā)布了新的主要版本Composer 2.0。這個(gè)版本有一些UX 改進(jìn),但重要的是,顯著的性能提升。有時(shí),即使是全新安裝也快3 倍。
說(shuō)到Composer,我喜歡通過(guò)查看一段時(shí)間內(nèi)可用的包來(lái)衡量PHP 生態(tài)系統(tǒng)的當(dāng)前狀態(tài)。去年我談到每天2500 萬(wàn)次下載,今天這個(gè)數(shù)字增加了一倍多,我們每天的下載量是6000 萬(wàn)次。
查看隨時(shí)間列出軟件包和版本數(shù)量的圖表。您也可以在我們的網(wǎng)站上找到它。很明顯,一個(gè)健康的生態(tài)系統(tǒng)正在成長(zhǎng)并且沒(méi)有盡頭。
后面,讓我們回顧一下近年來(lái)PHP 的所有新增功能。如果您沒(méi)有跟上開(kāi)發(fā)的步伐,您可能需要查看此列表。我相信這是社區(qū)和核心開(kāi)發(fā)團(tuán)隊(duì)近年來(lái)成長(zhǎng)的證明,相信還會(huì)有更多的成長(zhǎng)。
這一切都不得不說(shuō)。 PHP 還活著并且工作正常。隨著歲月的流逝,我對(duì)語(yǔ)言的發(fā)展方向感到更加滿(mǎn)意,并希望在未來(lái)很長(zhǎng)一段時(shí)間內(nèi)使用它!