PHP未來的一些可能
德國開放源碼軟件開發(fā)者Frank Karlit-schek主導的ownCloud項目,是目前采用PHP編寫的最大型開源項目之一。他在談及為何選擇PHP時,提到以下幾點。
普遍性:ownCloud的目的是讓所有人來托管自己的云服務器。而PHP目前廣泛用于Web服務器、操作系統(tǒng),平臺的優(yōu)勢使得用戶能輕松地進行部署。
通用性:作為腳本型語言,一個服務器tar文件可以運行于所有的平臺而無須復雜的額外編譯。
門檻低:大多數(shù)程序員對PHP都不陌生,即使是零基礎(chǔ)的用戶,學習PHP也是相對輕松容易。
輕巧強大:只要使用得當,PHP運行速度快,功能強大。維基百科、Facebook、WordPress等大型Web應用都是用PHP編寫的。
資源豐富:PHP擁有龐大的開發(fā)生態(tài)系統(tǒng),包括類庫、組件、連接器/驅(qū)動等。使用它就如同站在了巨人的肩膀上。
但縱然PHP有這些亮麗的優(yōu)點,F(xiàn)rank也指出它有不足之處。
安全性:作為20世紀90年代的產(chǎn)物,它在安全性方面的表現(xiàn)不能令人放心,畢竟那個時候人們的安全意識還是比較天真幼稚的。
編譯時間/運行時配置:調(diào)用./configure腳本來隨心所欲地按照自己意愿編譯PHP聽起來很有趣,但如果進行換位思考,我們在維護時要逐字逐句地查看別人的腳本配置那就不見得那么美好了。
矛盾的函數(shù)和類命名:一時是下劃線,一時是駝峰命名;某些特性可以是過程風格或是面向?qū)ο蠼涌陲L格,甚或兼而有之。
靜態(tài)類型:PHP在靜態(tài)類型上可以做得更好。
最近Apple新推出的開發(fā)語言Swift觸動了Frank,語言在更新?lián)Q代時是需要保持向下兼容還是完全創(chuàng)新?而如果是類似Perl和Python那樣無法前后兼容,最終分道揚鑣的局面,是大家不想看到的。對此,F(xiàn)rank就PHP的未來提出了自己的想法。
安全性:摒棄_Get、_Post、_SERVER,引入一個合適的API來對數(shù)據(jù)輸入進行篩選。
數(shù)據(jù)庫:PHP的數(shù)據(jù)庫支援API真的太豐富了。但某些API已經(jīng)非常老舊甚至過時了。Frank建議對此進行標準化,最終形成唯一的面向?qū)ο蠼涌诰涂梢粤恕DO是他做出的第一步嘗試。
32位/64位:在32位或64位運行PHP時,人們多少會發(fā)現(xiàn)特別是整型數(shù)據(jù)的運行差別。消除不同類型系統(tǒng)的運行差別是非常必要的。
剔除save_mode、open_basedir等傳統(tǒng)概念,使用unicode字符。
移除大部分有關(guān)編譯和運行時配置的選項:所有下一代PHP的運行時環(huán)境應該是盡可能統(tǒng)一和穩(wěn)定的。
類型:引入可選靜態(tài)類型的做法必定是非常令人激動的。這樣的話一個變量可以定義為布爾或整形。如果錯誤地使用了變量,會拋出一個異常。
本文作者Frank Karlitschek系ownCloud發(fā)起人,自由軟件開發(fā)者。
原文鏈接:http://karlitschek.de/2014/10/a-possible-future-for-php/ via:csdn
相關(guān)文章:
1. idea設置提示不區(qū)分大小寫的方法2. IntelliJ IDEA設置默認瀏覽器的方法3. HTTP協(xié)議常用的請求頭和響應頭響應詳解說明(學習)4. .NET SkiaSharp 生成二維碼驗證碼及指定區(qū)域截取方法實現(xiàn)5. IntelliJ IDEA創(chuàng)建web項目的方法6. CentOS郵件服務器搭建系列—— POP / IMAP 服務器的構(gòu)建( Dovecot )7. VMware中如何安裝Ubuntu8. docker容器調(diào)用yum報錯的解決辦法9. springboot集成與使用Sentinel的方法10. django創(chuàng)建css文件夾的具體方法
