PHP未來的一些可能

csdn發表於2014-11-18

  德國開放原始碼軟體開發者Frank Karlit-schek主導的ownCloud專案,是目前採用PHP編寫的最大型開源專案之一。他在談及為何選擇PHP時,提到以下幾點。

  • 普遍性:ownCloud的目的是讓所有人來託管自己的雲伺服器。而PHP目前廣泛用於Web伺服器、作業系統,平臺的優勢使得使用者能輕鬆地進行部署。
  • 通用性:作為指令碼型語言,一個伺服器tar檔案可以執行於所有的平臺而無須複雜的額外編譯。
  • 門檻低:大多數程式設計師對PHP都不陌生,即使是零基礎的使用者,學習PHP也是相對輕鬆容易。
  • 輕巧強大:只要使用得當,PHP執行速度快,功能強大。維基百科、Facebook、WordPress等大型Web應用都是用PHP編寫的。
  • 資源豐富:PHP擁有龐大的開發生態系統,包括類庫、元件、聯結器/驅動等。使用它就如同站在了巨人的肩膀上。

  但縱然PHP有這些亮麗的優點,Frank也指出它有不足之處。

  • 安全性:作為20世紀90年代的產物,它在安全性方面的表現不能令人放心,畢竟那個時候人們的安全意識還是比較天真幼稚的。
  • 編譯時間/執行時配置:呼叫 ./configure指令碼來隨心所欲地按照自己意願編譯PHP聽起來很有趣,但如果進行換位思考,我們在維護時要逐字逐句地檢視別人的指令碼配置那就不見得那麼美好了。
  • 矛盾的函式和類命名:一時是下劃線,一時是駝峰命名;某些特性可以是過程風格或是物件導向介面風格,甚或兼而有之。
  • 靜態型別:PHP在靜態型別上可以做得更好。

  最近Apple新推出的開發語言Swift觸動了Frank,語言在更新換代時是需要保持向下相容還是完全創新?而如果是類似Perl和Python那樣無法前後相容,最終分道揚鑣的局面,是大家不想看到的。對此,Frank就PHP的未來提出了自己的想法。

  • 安全性:摒棄_Get、_Post、_SERVER,引入一個合適的API來對資料輸入進行篩選。
  • 資料庫:PHP的資料庫支援API真的太豐富了。但某些API已經非常老舊甚至過時了。Frank建議對此進行標準化,最終形成唯一的物件導向介面就可以了。PDO是他做出的第一步嘗試。
  • 32位/64位:在32位或64位執行PHP時,人們多少會發現特別是整型資料的執行差別。消除不同型別系統的執行差別是非常必要的。
  • 剔除save_mode、open_basedir等傳統概念,使用unicode字元。
  • 移除大部分有關編譯和執行時配置的選項:所有下一代PHP的執行時環境應該是儘可能統一和穩定的。
  • 型別:引入可選靜態型別的做法必定是非常令人激動的。這樣的話一個變數可以定義為布林或整形。如果錯誤地使用了變數,會丟擲一個異常。

  本文作者Frank Karlitschek系ownCloud發起人,自由軟體開發者。

  原文連結:http://karlitschek.de/2014/10/a-possible-future-for-php/

相關文章