你知道嗎?即將到來的 6月(2020.6),PHP已經誕生25年啦,作為一門飽受爭議的程式語言,PHP 經歷了什麼,又準備如何解決歷史遺留問題?
php 1.0 1995-06-08 -- 首次使用
雖然PHP已經25歲,但並未顯現老態,反而更為樂於擁抱外面的世界。
這個趨勢在PHP 7.4版本表現的十分明顯,明確支援外部語言介面(Foreign Language Interface,FFI)模式,對基於C語言的擴充包開放,允許更多外部擴充包參與到PHP的程式設計與維護工作。
在PHP 7.4之前,開發者更習慣於「內建電池」的模式解決問題,好處是編寫起來簡單易懂,但代價是專案會隨著開發者的更換和語言的進化逐漸變得難以維護,向其他語言開放有助於解決這一問題。
PHP 7.4每秒處理的請求數量是PHP 5.6的三倍,甚至比PHP 7.0快約18%。
此外值得一提的是預先載入能力的提升,開發者可以使用opcache.preload設定指令,並指定PHP腳本的路徑可以輕鬆啟用此模式。
該腳本中引用的所有類別和函數將永久載入到記憶體中,並根據需要在每個伺服器請求中進行引用。
此外,預先載入模式下的每個請求的資源是可重複使用的,因此可降低請求時間。
當然,這也意味著如果要更改配置內容必須重新啟動伺服器。
更新維護
由於PHP的更新迭代,年代久遠的套件的維護和更新已經成為了大問題, HN的討論熱點主要集中在PHP的維護上,而非新項目的開發。
出於可維護性的考慮,從PHP 7.4開始,官方不建議再使用PEAR,PHP推出自己的套件管理器,官方稱其為Composer,使用方式非常接近Python的pip和Node的npm,大大減少了開發者的維護難度。
安全性
不出意外的話,PHP 7.X會陪伴我們很長時間,據消息,PHP 8.0的alpha版本會在6月份釋出,現存的PHP的bug會在8.X時代修復,主要更新會集中在安全上。
實際上,無論是否贊成PHP是世界上最好的語言,PHP的安全性問題對開發者來說是一塊心病,不過這個任何程式語言都有漏洞。
而在PHP 5.4時代官方移除safe_mode,更是勸退了大波開發者,在意識到問題後,PHP重新支持這個模式。
雖然有所反复,但總歸是好事一樁。近期的PHP開始使用Argon2 password-hashing 演算法,這是多年密碼學哈希演算法競賽的冠軍,也許是為表明對安全性的重視。
無論如何,php已經走過 25 個年頭了,為世界多彩的WEB開發世界做出了獨有的貢獻,也已經被開發者證明了php是世界上最好的語言!希望PHP繼續輝煌,不斷的把驚喜帶給開發者!
#相關推薦
1. PHP影片教學