“草根”的進化-PHP發展簡史

(本文於2010.10.01發表在《草根》雜誌第四期,LAMP交流超級羣(500人):106382633)

PHP源於一個古老的工程,名叫PHP/FI。PHP/FI工程在1995年由Rasmus Lerdorf這傢伙創建。最初PHP這小子只是一套簡單的Perl腳本,用來跟蹤訪問他主頁的人們的信息。這一套腳本取名爲“Personal Home Page”。誰承想PHP的需求在不斷增長,所以Rasmus又寫了一個更大的C語言的實現來滿足發展需要。慢慢的,他能訪問數據庫,能讓用戶研發簡單的動態Web程式。後來因爲負擔不了沉重的需求壓力,Rasmus發佈了PHP/FI的原始碼,以便每個人都能參與他,修正他的Bug並且改進他的原始碼。

PHP/FI,一個專爲個人主頁/表單提供解釋的程序,令人驚訝的是,它已包含了今天 PHP 的大多數基本功能。他有着Perl樣式的變量,自動解釋表單變量,並能嵌入HTML。語法本身也和Perl非常相似,不過他也非常有限和簡單。

到1997年,Rasmus Lerdorf這哥們睡醒了發佈PHP/FI2.0時,他自己都不知道,全世界已有幾千個用戶(估計)和大約50000個域名安裝,什麼?這麼點?你可知道這個數字大約是當時Internet所有域名的1%。不過因爲那個時候開源的普遍接受度不是很高,所以實際上只有幾個人在爲該工程撰寫少量當代碼,一定意義上當時的PHP仍然只是個人的工程。

PHP/FI2.0在經歷了數個beta版本後於1997年11月發佈了官方正式版本。不久,隨着PHP3.0的第一個alpha版本發佈,PHP開始走向了成功。

PHP3

PHP3.0是類似於當今PHP語法結構的第一個版本。Andi Gutmans和Zeev Suraski在爲一所大學的項目中研發電子商務程序時發現PHP/FI2.0功能明顯不足,於是他們重寫了代碼(牛逼……)。這就是PHP3.0。經過Andi,Rasmus和Zeev一系列的努力,考慮到PHP/FI已存在的用戶羣,他們決定聯合發佈PHP3.0作爲PHP/FI2.0的官方後繼版本。而PHP/FI2.0的進一步研發幾乎終止了。

PHP3.0到底有多牛逼?且看他最強大的功能:可擴展性。除了給最終用戶提供數據庫、協議和 API 的基礎結構,它的可擴展性還吸引了大量的研發人員加入並不斷提交新的模塊。後來證實,這是PHP 3.0取得巨大成功的關鍵。PHP 3.0中的其他關鍵功能包括對面向對象的支持和更協調的語法結構。

這個全新的語言伴隨着一個新的名稱發佈。他從PHP/FI2.0的名稱中移去了暗含“本語言只限於個人使用”的部分。他被命名爲簡單的縮寫“PHP”。這是一種遞歸的縮寫,他的全稱是PHP:Hypertext Preprocessor。

1998年末,當我還在家鄉某個角落忙着玩過家家的時候,PHP的安裝人數已經猛增到10,000,有大約100,000個網站報告他們使用了PHP。在PHP3.0的頂峯,當時Internet上10%的Web服務器上都安裝了他。

約九個月的公開測試後,官方於1998年6月正式發佈PHP3.0。

PHP4

1998年的冬天(我毅然在玩過家家……),PHP3.0官方發佈不久,Andi Gutmans和 Zeev Suraski開始重新編寫PHP代碼(有完沒完了……)。設計目標是增強複雜程序運行時的性能和 PHP 自身代碼的模塊性。PHP 3.0的新功能和廣泛的第三方數據庫、API的支持使得這樣程序的編寫成爲可能,不過PHP 3.0沒有高效處理如此複雜問題的能力。

新的被稱爲“Zend Engine”(這是Zeev和Andi的縮寫)的引擎,成功的實現了設計目標,並在1999年中期首次引入PHP。基於該引擎並結合了更多新功能的PHP4.0,在PHP3.0發佈兩年後,於2000年5月發佈了官方正式版本。除了更高的性能以外,PHP4.0還包含了其他一些關鍵功能,比如:支持更多的Web服務器、HTTP Sessions支持、輸出緩存(output buffering)、更安全的處理用戶輸入的方法、一些新的語言結構。

截至2002年,已有10,000名研發人員(估計)和幾百萬網站報告已安裝了PHP,佔整個Internet域名的20%。同時隨着開源力量的不斷髮展,PHP的維護小組開始擁有了非常多優秀的研發人員,同時更多的愛好者在進行着PHP相關工程的研發工作,如PEAR和PHP文件的工程。

PHP5

2004年7月,PHP一個里程碑的時刻到來了,基本實現完全面向對象的PHP5.0正式版橫空出世,該版本以ZendII爲引擎,並且加入了諸多迫切需要的功能,最令人激動的,從這個版本開始,PHP大大加強了面向對象的功能。除此以外還引入了PDO(PHP Data Objects),一個存取數據庫的延伸函數庫),另外,PHP還大幅度的優化了核心,改善了執行效率。

其次是XML功能,PHP5.0版本支持可直觀地訪問XML數據、名爲SimpleXML的XML處理用界面。同時還強化了XML Web服務支持,而且標準支持SOAP擴展模塊。數據庫方面,PHP新版本提供旨在訪問MySOL的新界面。除此前的界面外,還可以使用面向對象界面和預處理語句(Prepared Statement)等MySQL的新功能,另外,PHP5.0上還捆綁有小容量RDBMS-SQLite。

截至發稿時,筆者從谷歌得到的數據顯示,使用PHP部署的網站已經達到2,460,000,000個,24億!並且還在不斷的增長中。

       未來發展

PHP6

PHP6現在是滿地開花不結果,不過目前PHP5足夠穩定,也足夠使用,官方可能也覺得沒有發佈PHP 6的需要,要知道現在多少網站還是用PHP4寫的!不過就目前看來PHP6將會有一下改變(以下內容摘自百度百科PHP6關鍵字)。

支持Unicode。 Register Globals將被移除。

Magic Quotes將消散。 “var”別名爲“public”。

通過引用返回將出錯。 zend.ze1 compatbility mode將被移去。

Freetype 1 and GD 1 support將被取消。 dl()被移到SAPI中。

一些Extension的變更。 告別ASP風格的起始標籤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章