首頁 >頭條 >回顧並展望2023年PHP的發展!

回顧並展望2023年PHP的發展!

藏色散人
藏色散人轉載
2023-02-20 11:48:103544瀏覽

回顧並展望2023年PHP的發展!

導讀:從20 世紀90 年代中期作為個人專案起步,PHP 已經發展成為最受歡迎的Web 開發語言之一,為從小部落格到大型企業應用程式的全部提供支援。

PHP 這個語言在近30年的時間裡經歷了驚人的迭代變化。在過去 10 年內,PHP 以我們無法想像的方式發生變化。

每個新年我都會寫一篇關於 PHP 現況的文章,回顧與展望未來。我們現在就開始!

PHP 基金會

以前,我通常會從最新 PHP 版本的摘要開始寫。但是,這次我想先關注 PHP Foundation。

回顧並展望2023年PHP的發展!

自從PHP 基金會成立以來,已經一年多,它由一個10 名志工加6 名開發人員的團隊組成,由PHP 基金會支付報酬,從事PHP 語言的開發工作。

在去年,我寫了這段文字:

現在尼基塔(一位核心開發人員)已經離開,我有點擔心。但他絕對不是唯一能夠從事 PHP 核心工作的人,在過去的幾年裡,他在 PHP 8.0 和 8.1 方面做了大量工作。

我希望 PHP 基金會能夠盡快跟上步伐,並且在明年有足夠的核心開發人員有時間從事 PHP 方面的工作。

PHP 8.2已經在開發中,儘管還沒有起草很多 RFC。

我認為 2022 年不會是 PHP 最令人興奮的一年,而是增加穩定性的一年,這不會有錯。

我認為,現在可以公平地說,PHP基金會已經正常運作了。他們最近發布了2022 年報告,其中顯示了一組相當可觀的數字:

  • #2022年共募集58 萬美元

  • 基金會將支付6 名開發人員在PHP 核心上的工作

  • 基金會成員在php-src 中完成了近乎一半的提交

  • 他們創建了8 個新的RFC,其中只有一個沒有成功

我認為PHP基金會是PHP 發展過程發生的最好的事情之一。我希望他們能夠在 2023 年進一步改進這門語言。如果你在一家使用 PHP 的公司工作,我強烈建議你們要考慮捐款一些。

PHP 8.2

下面來聊聊使用 PHP 8.2。它通常被開發者認為是一個較小的版本,但它實際上具有許多不錯的功能。

下面舉幾個例子:

只讀類別(ReadOnly):

readonly class PostData
{
public function __construct(
public string $title,
public string $author,
public string $body,
public DateTimeImmutable $createdAt,
public PostState $state,
    ) {}
}

全新的隨機產生器:

$rng = $is_production
    ? new Random\Engine\Secure()
    : new Random\Engine\Mt19937(1234);
$randomizer = new Random\Randomizer($rng);
$randomizer->shuffleString('foobar');

獨立於null的true和false:

function alwaysFalse(): false
{
    return false;
}

析取範式類型:

function generateSlug((HasTitle&HasId)|null $post)
{ /* … */ }
编辑参数:

function connect(
    string $user,
    #[\SensitiveParameter] string $password
) {
// …
}

當然,還有更多,值得你去探索。

考慮到這些年來 PHP 的發展有多瘋狂。我做了一些比較,下面清楚地顯示了這些差異:

生態系統

就像每年一樣,我應該提到Packagist,它是PHP 的套件管理器,到今年它列出了361,000 個套件,比去年增加了60,000個:

回顧並展望2023年PHP的發展!

最令人印象深刻的數字是安裝總量。去年我提到過這個金額:

嗯,順便說一句,最近 Packagist 通過了處理超過 500 億次的安裝里程碑。恭喜Packagist!

我剛剛查了一下,Packagist 現在的安裝量是74,492,061,634 次。一年安裝量增加了 240 億,每月安裝量增加 20 億。綜上所述:PHP 生態系統正在快速發展。

每年兩次,我都會發布版本統計資料。在這些貼文中,我根據 Packagist 的數據分析了整個社群的 PHP 版本使用情況。

我想再次分享該帖子中的圖表:2013 年到現在的時間線,顯示每個版本的使用歷史記錄。

回顧並展望2023年PHP的發展!

雖然很高興看到PHP 8.* 的使用率急劇上升,但也有很大一部分人仍然停留在舊的、運行緩慢的與不安全的PHP版本上。我對 2023 年的希望是看到那些舊版本號下降得更快此。我在以上的版本統計貼文中是這樣寫的:

這些數據精美地形象化了 PHP 社群內部的分歧:一部分與現代 PHP 保持同步,而另一部分則無助地落在後面。

一說到升級,我就想特別提到一個工具:Rector。

Rector 是一款免費的自動化工具,可協助升級你的 PHP 程式碼庫。它所需要的只是少量的配置,它就會為你做大量的工作。

回顧並展望2023年PHP的發展!

我最近用它來更新我的社群驅動內容聚合器 Aggregate to PHP 8.2,它非常有趣且易於使用。

在發布我的版本統計貼文後,有幾個人告訴我他們還沒有更新,並且停留在 PHP 7.* 上,我問他們為什麼?他們告訴我,這只是太多的體力勞動。有趣的是,甚至沒有人嘗試使用像Rector 這樣的工具來幫助他們…

我堅信「程式語言」不僅僅是編譯器:它是在定義「程式語言」方面發揮同等作用的工具和生態系統,我真的認為很多人、專案和企業都會受益,如果他們研究使用像Rector 這樣的自動化工具。

既然我在談論生態系統,就不能不提到 PHP 的兩個最大的框架:Laravel和Symfony。

在過去的幾年裡,Laravel 取得了巨大的發展。他們現在僱用了8 名全職開發人員來開發框架及其生態系統。最重要的是,JetBrains 的開發調查報告稱,67% 的 PHP 開發人員使用 Laravel。

雖然如今與 Laravel 相比,Symfony 作為一個框架可能不太受歡迎,但它仍然是 PHP 社群中最成熟、最穩定的框架之一。它更常用於企業應用程式開發,但它的獨立組件在整個PHP 生態系統中都很流行——Laravel 也有一些對Symfony 組件的依賴,所以不少Symfony 軟體包進入Packagist 的頂級軟體包列表也就不足為奇了。

我還應該提到 WordPress。老實說,我對WordPress既愛又恨。作為用戶,WordPress 很棒。它的安裝和使用非常簡單,我認為這些年來它贏得了每一點人氣。不過,身為開發人員,WordPress 讓我感到難過。無法與現代和安全的 PHP 版本保持同步,為整個 PHP 社群蒙上了陰影。

目前,WordPress 僅對PHP 8.0 提供 Beta 支援。現在,需要明確的是:PHP 8.0 於2020 年發布,3年後的生命週期結束了——而WordPress 目前尚不支援它…

當然,不能正確支援較新的PHP 版本是有原因的,應該由使用者決定它們是否正確。我個人的觀點是,像 WordPress 一樣堅持向後相容的決定主要是業務驅動的:WordPress 的很大一部分是商業部分,他們的客戶群的很大一部分運行舊的 PHP 版本。這是一個惡性循環,雙方互相阻礙,並在一定程度上阻礙了整個 PHP 社群發展。

另一方面,我們應該認識到這樣一個事實,即在將近20 年後,沒有多少軟體專案能夠像WordPress 一樣流行和相關,所以也許他們關於向後相容性的策略是正確的?

超集

最後,我不能不提一下我對PHP的長期夢想。

我現在寫下它,我希望有一天它會成為現實:PHP 的超集,具有適當的 IDE 與靜態分析器支援功能。

我希望它出現的原因有很多。如果你願意,你可以閱讀和傾聽它們,但我真的希望它能成為現實。在 2023 年看到一個被廣泛接受和支持的超集尚待時日,但一些小步驟已經開始了。我肯定會密切注意PXP,它會把事情引向更正確的方向。

綜上所述,我感覺各位開發者一定會喜歡 2023 年!最後一句,為防止萬一你是新來的,我是 Brent,是JetBrains 的開發者佈道師。

註:英文原文網址是:https://stitcher.io/blog/php-in-2023

陳述:
本文轉載於:21CTO。如有侵權,請聯絡admin@php.cn刪除