導讀:從20 世紀90 年代中期作為個人專案起步,PHP 已經(jīng)發(fā)展成為最受歡迎的Web 開發(fā)語言之一,為從小部落格到大型企業(yè)應用程式的全部提供支援。
PHP 這個語言在近30年的時間裡經(jīng)歷了驚人的迭代變化。在過去 10 年內(nèi),PHP 以我們無法想像的方式發(fā)生變化。
每個新年我都會寫一篇關(guān)於 PHP 現(xiàn)況的文章,回顧與展望未來。我們現(xiàn)在就開始!
PHP 基金會
以前,我通常會從最新 PHP 版本的摘要開始寫。但是,這次我想先關(guān)注 PHP Foundation。
自從PHP 基金會成立以來,已經(jīng)一年多,它由一個10 名志工加6 名開發(fā)人員的團隊組成,由PHP 基金會支付報酬,從事PHP 語言的開發(fā)工作。
在去年,我寫了這段文字:
現(xiàn)在尼基塔(一位核心開發(fā)人員)已經(jīng)離開,我有點擔心。但他絕對不是唯一能夠從事 PHP 核心工作的人,在過去的幾年裡,他在 PHP 8.0 和 8.1 方面做了大量工作。
我希望 PHP 基金會能夠盡快跟上步伐,並且在明年有足夠的核心開發(fā)人員有時間從事 PHP 方面的工作。
PHP 8.2已經(jīng)在開發(fā)中,儘管還沒有起草很多 RFC。
我認為 2022 年不會是 PHP 最令人興奮的一年,而是增加穩(wěn)定性的一年,這不會有錯。
我認為,現(xiàn)在可以公平地說,PHP基金會已經(jīng)正常運作了。他們最近發(fā)布了2022 年報告,其中顯示了一組相當可觀的數(shù)字:
#2022年共募集58 萬美元
基金會將支付6 名開發(fā)人員在PHP 核心上的工作
基金會成員在php-src 中完成了近乎一半的提交
他們創(chuàng)建了8 個新的RFC,其中只有一個沒有成功
我認為PHP基金會是PHP 發(fā)展過程發(fā)生的最好的事情之一。我希望他們能夠在 2023 年進一步改進這門語言。如果你在一家使用 PHP 的公司工作,我強烈建議你們要考慮捐款一些。
PHP 8.2
下面來聊聊使用 PHP 8.2。它通常被開發(fā)者認為是一個較小的版本,但它實際上具有許多不錯的功能。
下面舉幾個例子:
只讀類別(ReadOnly):
readonly?class?PostData { public?function?__construct( public?string?$title, public?string?$author, public?string?$body, public?DateTimeImmutable?$createdAt, public?PostState?$state, ????)?{} }
全新的隨機產(chǎn)生器:
$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) {?/*?…?*/?} 編輯參數(shù): function?connect( ????string?$user, ????#[\SensitiveParameter]?string?$password )?{ //?… }
當然,還有更多,值得你去探索。
考慮到這些年來 PHP 的發(fā)展有多瘋狂。我做了一些比較,下面清楚地顯示了這些差異:
生態(tài)系統(tǒng)
就像每年一樣,我應該提到Packagist,它是PHP 的套件管理器,到今年它列出了361,000 個套件,比去年增加了60,000個:
最令人印象深刻的數(shù)字是安裝總量。去年我提到過這個金額:
嗯,順便說一句,最近 Packagist 通過了處理超過 500 億次的安裝里程碑。恭喜Packagist!
我剛剛查了一下,Packagist 現(xiàn)在的安裝量是74,492,061,634 次。一年安裝量增加了 240 億,每月安裝量增加 20 億。綜上所述:PHP 生態(tài)系統(tǒng)正在快速發(fā)展。
每年兩次,我都會發(fā)布版本統(tǒng)計資料。在這些貼文中,我根據(jù) Packagist 的數(shù)據(jù)分析了整個社群的 PHP 版本使用情況。
我想再次分享該帖子中的圖表:2013 年到現(xiàn)在的時間線,顯示每個版本的使用歷史記錄。
雖然很高興看到PHP 8.* 的使用率急劇上升,但也有很大一部分人仍然停留在舊的、運行緩慢的與不安全的PHP版本上。我對 2023 年的希望是看到那些舊版本號下降得更快此。我在以上的版本統(tǒng)計貼文中是這樣寫的:
這些數(shù)據(jù)精美地形象化了 PHP 社群內(nèi)部的分歧:一部分與現(xiàn)代 PHP 保持同步,而另一部分則無助地落在後面。
一說到升級,我就想特別提到一個工具:Rector。
Rector 是一款免費的自動化工具,可協(xié)助升級你的 PHP 程式碼庫。它所需要的只是少量的配置,它就會為你做大量的工作。
我最近用它來更新我的社群驅(qū)動內(nèi)容聚合器 Aggregate to PHP 8.2,它非常有趣且易於使用。
在發(fā)布我的版本統(tǒng)計貼文後,有幾個人告訴我他們還沒有更新,並且停留在 PHP 7.* 上,我問他們?yōu)槭颤N?他們告訴我,這只是太多的體力勞動。有趣的是,甚至沒有人嘗試使用像Rector 這樣的工具來幫助他們…
我堅信「程式語言」不僅僅是編譯器:它是在定義「程式語言」方面發(fā)揮同等作用的工具和生態(tài)系統(tǒng),我真的認為很多人、專案和企業(yè)都會受益,如果他們研究使用像Rector 這樣的自動化工具。
既然我在談論生態(tài)系統(tǒng),就不能不提到 PHP 的兩個最大的框架:Laravel和Symfony。
在過去的幾年裡,Laravel 取得了巨大的發(fā)展。他們現(xiàn)在僱用了8 名全職開發(fā)人員來開發(fā)框架及其生態(tài)系統(tǒng)。最重要的是,JetBrains 的開發(fā)調(diào)查報告稱,67% 的 PHP 開發(fā)人員使用 Laravel。
雖然如今與 Laravel 相比,Symfony 作為一個框架可能不太受歡迎,但它仍然是 PHP 社群中最成熟、最穩(wěn)定的框架之一。它更常用於企業(yè)應用程式開發(fā),但它的獨立組件在整個PHP 生態(tài)系統(tǒng)中都很流行——Laravel 也有一些對Symfony 組件的依賴,所以不少Symfony 軟體包進入Packagist 的頂級軟體包列表也就不足為奇了。
我還應該提到 WordPress。老實說,我對WordPress既愛又恨。作為用戶,WordPress 很棒。它的安裝和使用非常簡單,我認為這些年來它贏得了每一點人氣。不過,身為開發(fā)人員,WordPress 讓我感到難過。無法與現(xiàn)代和安全的 PHP 版本保持同步,為整個 PHP 社群蒙上了陰影。
目前,WordPress 僅對PHP 8.0 提供 Beta 支援?,F(xiàn)在,需要明確的是:PHP 8.0 於2020 年發(fā)布,3年後的生命週期結(jié)束了——而WordPress 目前尚不支援它…
當然,不能正確支援較新的PHP 版本是有原因的,應該由使用者決定它們是否正確。我個人的觀點是,像 WordPress 一樣堅持向後相容的決定主要是業(yè)務驅(qū)動的:WordPress 的很大一部分是商業(yè)部分,他們的客戶群的很大一部分運行舊的 PHP 版本。這是一個惡性循環(huán),雙方互相阻礙,並在一定程度上阻礙了整個 PHP 社群發(fā)展。
另一方面,我們應該認識到這樣一個事實,即在將近20 年後,沒有多少軟體專案能夠像WordPress 一樣流行和相關(guān),所以也許他們關(guān)於向後相容性的策略是正確的?
超集
最後,我不能不提一下我對PHP的長期夢想。
我現(xiàn)在寫下它,我希望有一天它會成為現(xiàn)實:PHP 的超集,具有適當?shù)?IDE 與靜態(tài)分析器支援功能。
我希望它出現(xiàn)的原因有很多。如果你願意,你可以閱讀和傾聽它們,但我真的希望它能成為現(xiàn)實。在 2023 年看到一個被廣泛接受和支持的超集尚待時日,但一些小步驟已經(jīng)開始了。我肯定會密切注意PXP,它會把事情引向更正確的方向。
綜上所述,我感覺各位開發(fā)者一定會喜歡 2023 年!最後一句,為防止萬一你是新來的,我是 Brent,是JetBrains 的開發(fā)者佈道師。
註:英文原文網(wǎng)址是:https://stitcher.io/blog/php-in-2023

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應用程序,用於創(chuàng)建逼真的裸體照片

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

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

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

在PHP中搭建社交分享功能的核心方法是通過動態(tài)生成符合各平臺要求的分享鏈接。 1.首先獲取當前頁面或指定的URL及文章信息;2.使用urlencode對參數(shù)進行編碼;3.根據(jù)各平臺協(xié)議拼接生成分享鏈接;4.在前端展示鏈接供用戶點擊分享;5.動態(tài)生成頁面OG標籤優(yōu)化分享內(nèi)容展示;6.務必對用戶輸入進行轉(zhuǎn)義以防止XSS攻擊。該方法無需複雜認證,維護成本低,適用於大多數(shù)內(nèi)容分享需求。

要實現(xiàn)PHP結(jié)合AI進行文本糾錯與語法優(yōu)化,需按以下步驟操作:1.選擇適合的AI模型或API,如百度、騰訊API或開源NLP庫;2.通過PHP的curl或Guzzle調(diào)用API並處理返回結(jié)果;3.在應用中展示糾錯信息並允許用戶選擇是否採納;4.使用php-l和PHP_CodeSniffer進行語法檢測與代碼優(yōu)化;5.持續(xù)收集反饋並更新模型或規(guī)則以提升效果。選擇AIAPI時應重點評估準確率、響應速度、價格及對PHP的支持。代碼優(yōu)化應遵循PSR規(guī)範、合理使用緩存、避免循環(huán)查詢、定期審查代碼,並藉助X

1.評論系統(tǒng)商業(yè)價值最大化需結(jié)合原生廣告精準投放、用戶付費增值服務(如上傳圖片、評論置頂)、基於評論質(zhì)量的影響力激勵機制及合規(guī)匿名數(shù)據(jù)洞察變現(xiàn);2.審核策略應採用前置審核 動態(tài)關(guān)鍵詞過濾 用戶舉報機制組合,輔以評論質(zhì)量評分實現(xiàn)內(nèi)容分級曝光;3.防刷需構(gòu)建多層防禦:reCAPTCHAv3無感驗證、Honeypot蜜罐字段識別機器人、IP與時間戳頻率限制阻止灌水、內(nèi)容模式識別標記可疑評論,持續(xù)迭代應對攻擊。

用戶語音輸入通過前端JavaScript的MediaRecorderAPI捕獲並發(fā)送至PHP後端;2.PHP將音頻保存為臨時文件後調(diào)用STTAPI(如Google或百度語音識別)轉(zhuǎn)換為文本;3.PHP將文本發(fā)送至AI服務(如OpenAIGPT)獲取智能回復;4.PHP再調(diào)用TTSAPI(如百度或Google語音合成)將回復轉(zhuǎn)為語音文件;5.PHP將語音文件流式返回前端播放,完成交互。整個流程由PHP主導數(shù)據(jù)流轉(zhuǎn)與錯誤處理,確保各環(huán)節(jié)無縫銜接。

PHP不直接進行AI圖像處理,而是通過API集成,因為它擅長Web開發(fā)而非計算密集型任務,API集成能實現(xiàn)專業(yè)分工、降低成本、提升效率;2.整合關(guān)鍵技術(shù)包括使用Guzzle或cURL發(fā)送HTTP請求、JSON數(shù)據(jù)編解碼、API密鑰安全認證、異步隊列處理耗時任務、健壯錯誤處理與重試機制、圖像存儲與展示;3.常見挑戰(zhàn)有API成本失控、生成結(jié)果不可控、用戶體驗差、安全風險和數(shù)據(jù)管理難,應對策略分別為設置用戶配額與緩存、提供prompt指導與多圖選擇、異步通知與進度提示、密鑰環(huán)境變量存儲與內(nèi)容審核、雲(yún)存

PHP通過數(shù)據(jù)庫事務與FORUPDATE行鎖確保庫存扣減原子性,防止高並發(fā)超賣;2.多平臺庫存一致性需依賴中心化管理與事件驅(qū)動同步,結(jié)合API/Webhook通知及消息隊列保障數(shù)據(jù)可靠傳遞;3.報警機制應分場景設置低庫存、零/負庫存、滯銷、補貨週期和異常波動策略,並按緊急程度選擇釘釘、短信或郵件通知責任人,且報警信息需完整明確,以實現(xiàn)業(yè)務適配與快速響應。

PHP通過收集用戶數(shù)據(jù)(如瀏覽歷史、地理位置)並預處理,為AI模型提供輸入基礎;2.使用curl或gRPC等技術(shù)對接AI模型,獲取點擊率、轉(zhuǎn)化率預測結(jié)果;3.根據(jù)預測動態(tài)調(diào)整廣告展示頻率、目標人群等策略;4.通過A/B測試不同廣告變體並記錄數(shù)據(jù),結(jié)合統(tǒng)計分析優(yōu)化效果;5.利用PHP監(jiān)控流量來源、用戶行為並與GoogleAds等第三方API集成,實現(xiàn)自動化投放與持續(xù)反饋優(yōu)化,最終提升CTR、CVR並降低CPC,完整實現(xiàn)AI驅(qū)動的廣告系統(tǒng)閉環(huán)。

PHPisstillrelevantinmodernenterpriseenvironments.1.ModernPHP(7.xand8.x)offersperformancegains,stricttyping,JITcompilation,andmodernsyntax,makingitsuitableforlarge-scaleapplications.2.PHPintegrateseffectivelyinhybridarchitectures,servingasanAPIgateway