附錄 A. PHP 及其關聯專案的歷史

PHP 在過去的幾年裡走過了漫長的道路。成長為處理 web 的最卓越的語系並非易事。若果對 PHP 如何發展到今天很感興趣,那麼請繼續讀下去吧。以前的 PHP 發行版可以在 PHP 博物館找到。

PHP 的歷史

PHP/FI

PHP 繼承自一個老的專案,名叫 PHP/FI。PHP/FI 在 1995 年由 Rasmus Lerdorf 建立,最初只是一套簡單的 Perl 腳本,用來追蹤訪問他首頁的人們的訊息。它給這一套腳本取名為「Personal Home Page Tools」。隨著更多功能需求的增加,Rasmus 寫了一個更大的 C 語系的實現,它可以訪問資料庫,可以讓會員開發簡單的動態 Web 程式。Rasmus 發佈了 PHP/FI 的原始碼,以便每個人都可以使用它,同時大家也可以修正它的 Bug 並且改進它的原始碼。

PHP/FI,一個專為個人首頁/表單提供解釋程式的程式,已經包括了今天 PHP 的一些基本功能。它有著 Perl 型態的變量,自動解釋表單變量,並可以內嵌 HTML。語法本身與 Perl 很相似,但是它很有限,很簡單,還稍微有些不協調。

到1997年,PHP/FI 2.0,也就是它的 C 語系實現的第二版在全世界已經有幾千個會員(估計)和大約 50,000 個功能變數名安裝,大約是 Internet 所有功能變數名的 1%。但是那時只有幾個人在為該專案撰寫少量當代碼,它仍然只是一個人的專案。

PHP/FI 2.0 在經歷了數個 beta 版本的發佈後於 1997 年 11 月發佈了官方正式版本。不久,PHP 3.0 的第一個 alpha 版本的發佈,PHP 從此走向了成功。

PHP 3

PHP 3.0 是類似於當今 PHP 語法結構的第一個版本。Andi Gutmans 和 Zeev Suraski 在為一所大學的項目中開發電子商務程式時發現 PHP/FI 2.0 功能明顯不足,於是他們重寫了代碼。這就是 PHP 3.0。經由Andi,Rasmus 和 Zeev 一系列的努力,考慮到 PHP/FI 已存在的會員群,他們決定聯合發佈 PHP 3.0 作為 PHP/FI 2.0 的官方後繼版本。而 PHP/FI 2.0 的進一步開發幾乎終止了。

PHP 3.0 的一個最強大的功能是它的可增加性。除了給最終會員提供資料庫、協定和 API 的基礎結構,它的可增加性還吸引了大量的開發人員加入並送出新的模組。後來證實,這是 PHP 3.0 取得巨大成功的關鍵。PHP 3.0 中的其它關鍵功能內含面向對象的支援和更強大和協調的語法結構。

這個全新的語系伴隨著一個新的名稱發佈。它從 PHP/FI 2.0 的名稱中移去了暗含「本語系只限於個人使用」的部分。它被命名為簡單的縮寫「PHP」。這是一種遞歸的縮寫,它的全稱是--PHP: Hypertext Preprocessor。

1998 年末,PHP 的安裝人數幾近 10,000,有大約 100,000 個網站報告他們使用了 PHP。在 PHP 3.0 的頂峰,Internet 上 10% 的 web 伺服器上都安裝了它。

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

PHP 4

1998 年的冬天,PHP 3.0 官方發佈不久,Andi Gutmans 和 Zeev Suraski 開始重新編寫 PHP 代碼。設計目的是增強複雜程式運行時的效能和 PHP 自身代碼的模組性。PHP 3.0 的新功能和廣泛的第三方資料庫、API的支援使得這樣程式的編寫成為可能,但是 PHP 3.0 沒有高效處理如此複雜程式的能力。

新的被稱為「Zend Engine」(這是 Zeev 和 Andi 的縮寫)的引擎,成功的實現了設計目的,並在 1999 年中期首次引入 PHP。基於該引擎並結合了更多新功能的 PHP 4.0,在 PHP 3.0 發佈兩年後,於2000年5月發佈了官方正式版本。除了更高的效能以外,PHP 4.0 還包括了其它一些關鍵功能,比如:支援更多的 web 伺服器;HTTP Sessions 支援;輸出緩衝;更安全的處理會員輸入的方法;一些新的語系結構。

今天,已經有 10,000 名開發人員(估計)和幾百萬網站報告已安裝了 PHP,佔整個 Internet 功能變數名的 20%。

PHP 的開發小組有很多優秀的開發人員,同時還有大量的優秀人才在進行 PHP 關聯專案的開發工作,如 PEAR 和 PHP 文件的專案。

PHP 5

PHP 5 在長時間的開發及多個預發佈版本後,於 2004 年 7 月發佈正式版本。它的核心是 Zend 引擎 2 代,引入了新的對象模型和大量新功能。請訪問其網站以取得更多關於該引擎的訊息。