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

回顧並展望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刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版

SublimeText3 Mac版

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

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

記事本++7.3.1

記事本++7.3.1

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

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具