PHP的性能:7.0版本提升兩到三倍現(xiàn)在,PHP已經(jīng)更新到了7.3版本,2019年底將會跟新7.4版本,之后會升級到8.0版本。 秋天網(wǎng)站評分表示,PHP5.0版本在2004年發(fā)布的時候,它的性能就已經(jīng)達到了平均水平。在升級到7.0版本的時候,又從頭開始重寫了一遍核心部分,運行WordPress 5.0時,性能提升了兩到三倍。 在Web應(yīng)用程序中,PHP與其他語言也有可比性,在某些情況下性能表現(xiàn)還更好。 雖然與C和Rust相比,PHP還是略遜一籌,但比Rails或Django要好得多,性能也比得上ExpressJS。 框架和生態(tài)系統(tǒng):不僅僅是WordPress在HackerNews的討論中,很多人都提到,因為WordPress的存在才讓PHP有了些存在感。 但小哥在博客中說,WordPress絕不能代表PHP當前的生態(tài)系統(tǒng)。 一般來說,PHP中有兩個主要的Web應(yīng)用程序框架,分別是Symfony和Laravel?,F(xiàn)在使用PHP做開發(fā),基本上都會選擇其中的一個。 這兩個框架背后,都有一個龐大的包和產(chǎn)品生態(tài)系統(tǒng),從管理面板和CRM到獨立軟件包,分析工具,支付集成等等。 雖然這些框架適用于實際開發(fā),但如果只需要進行內(nèi)容管理,WordPress和CraftCMS是更好的選擇,而且它們也會進一步改進。 此外,衡量PHP生態(tài)系統(tǒng)當前狀態(tài)的一種方法是看Packagist中的情況,這是PHP的主要軟件包的存儲庫。 PHP主要軟件包近年來已呈指數(shù)級增長,每天下載量達到2500萬次。這足以證明,PHP生態(tài)系統(tǒng)已經(jīng)遠非昔日可比。 除了應(yīng)用程序框架和CMS之外,過去幾年P(guān)HP中的異步框架也開始興起,比如Swoole、Amp和ReactPHP等等,都是用PHP或其他語言編寫的框架和服務(wù)器,能夠讓用戶運行真正的異步PHP。 現(xiàn)在, PHP已經(jīng)進入了異步世界,像WebSocket和具有大量輸入輸出的應(yīng)用程序之類的東西,已經(jīng)開始與PHP世界相關(guān)了。 語言本身盡管async和await現(xiàn)在還不可用,但在過去的幾年里,PHP語言本身已經(jīng)做了很多改進。下面是一個不完全的PHP新特性列表:
當談到PHP語言特性的時候,讓我們也來看看今天PHP語言是如何發(fā)展的。PHP有一個活躍的志愿者核心團隊推動語言的發(fā)展,向社區(qū)征求意見(RFC,Request for Comments)。 接下來,這些RFC在“內(nèi)部”郵件列表中討論,也可以在線瀏覽。在添加新的功能之前,必須進行投票。只有至少占2/3多數(shù)的RFC才被允許進入核心。 大約有100人允許參與投票。核心團隊的成員當然有權(quán)投票,因為他們必須維護代碼基礎(chǔ)。 除此之外,還有一群人是從PHP社區(qū)中單獨挑選出來的。這些人包括PHP文檔的維護者,整個PHP項目的貢獻者,以及PHP社區(qū)中杰出的開發(fā)人員。 雖然大部分核心開發(fā)是在自愿的基礎(chǔ)上完成的,但是核心PHP開發(fā)人員之一Nikita Popov最近加入了軟件公司JetBrains,全職從事編程語言工作。 另一個例子是最近決定投資Zend框架的Linux基金會。像這樣的雇傭方式和收購確保了PHP未來發(fā)展的穩(wěn)定性。 靜態(tài)分析工具過去幾年里,圍繞PHP本身的工具已經(jīng)有所增加,比如由Vimeo開發(fā)的靜態(tài)分析工具Psalm等等。 這些工具能夠?qū)δ愕腜HP代碼進行靜態(tài)分析,并報告其中出現(xiàn)的錯誤以及可能會出現(xiàn)的錯誤。 盡管PHP還沒有被編譯,不允許使用自定義語法,但在某種程度上,它們提供的功能能夠媲美TypeScript。 這意味著,現(xiàn)在的PHP開發(fā)者要依賴文檔塊。但PHP的原始創(chuàng)建者Rasmus Lerdorf,已經(jīng)明確提到了要在內(nèi)核中添加靜態(tài)分析引擎。這一想法的潛力很大,但任務(wù)同樣艱巨。 在傳輸方面,受到JavaScript社區(qū)的啟發(fā),PHP開發(fā)者社區(qū)已經(jīng)在努力的拓展PHP語法。比如一個名為Pre的項目,可以把新的PHP語法轉(zhuǎn)換成普通的PHP代碼。 這個想法雖然已經(jīng)在JavaScript世界中得到了證明,但是只有在提供了適當?shù)募砷_發(fā)環(huán)境和靜態(tài)分析支持的情況下,它才能在PHP中發(fā)揮作用。 盡管這是一個非常有趣的想法,但是在能夠稱之為“主流”之前,它還有很長的路要走。 PHP已經(jīng)過時了嗎?再次把話題回到開頭提出的問題上,PHP已經(jīng)過時了嗎? 除了上面的一些動態(tài),還有一份報告可以參考。 去年10月,GitHub發(fā)布2018年的年度報告。在熱門編程語言中,PHP排名第四。 雖然比不上JavaScript、Java,后來又被Python超過,但依舊比C++、C#等語言熱度要高。 |
|