PHP未來的一些可能
德國開放源碼軟件開發者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/ via:csdn
相關文章: