PHP - 歷史



PHP 最初是一個小型開源專案,隨著越來越多的人發現它的實用性,它逐漸發展壯大。Rasmus Lerdorf 在 1994 年釋出了第一個版本的 PHP。當時,PHP 代表個人主頁 (Personal Home Page),因為他用它來維護自己的個人主頁。後來,他添加了資料庫支援,並將其稱為“個人主頁/表單直譯器”(Personal Home Page/Forms Interpreter) 或 PHP/FI,它可以用來構建簡單的動態 Web 應用程式。

  • Zeev Suraski 和 Andi Gutmans 在 1997 年重寫了解析器,並構成了PHP 3 的基礎。語言的名稱也改為遞迴縮寫 PHP:超文字預處理器 (Hypertext Preprocessor)。他們也是 Zend 引擎的作者,Zend 引擎是 PHP 的編譯器和執行時環境。由 Zend 引擎驅動的PHP 4 於 2000 年 5 月釋出。

  • PHP 5 於 2004 年釋出,其中包含許多新特性,例如 OOP 支援、PHP 資料物件 (PDO) 和許多效能增強。

  • PHP 7 是一個新的主要 PHP 版本,於 2015 年開發。它包含新的語言特性,最顯著的是引入了函式的返回型別宣告,補充了現有的引數型別宣告,並支援在引數和返回型別宣告中使用標量型別(整數、浮點數、字串和布林值)。

PHP 8 的新特性

PHP 8 是最新的主要版本,於 2020 年 11 月釋出。一些新的特性和顯著變化包括:

即時 (JIT) 編譯

PHP 8 的 JIT 編譯器提供了比常用 Web 開發用例而言對數學型別運算的重大效能改進。JIT 編譯器為將來將部分程式碼從 C 移動到 PHP 提供了潛力。

“match” 表示式

新引入的“match”表示式比 switch 語句更簡潔。因為 match 是一個表示式,所以它的結果可以賦值給變數或從函式返回。

PHP 8 – 型別更改和新增

PHP 8 引入了聯合型別、新的靜態返回型別和新的混合型別。PHP 8 還提供了屬性(類似於其他程式語言中的“註釋”),有助於向 PHP 類新增元資料。

此外,PHP 標準庫還進行了許多更改和新增。PHP 8.2.9 是最新可用的穩定版本。

PHP 釋出歷史中的重要里程碑總結在下表中:

版本 描述

版本 1.0
(1995 年 6 月 8 日)

正式名稱為“個人主頁工具 (PHP Tools)”。這是第一次使用“PHP”這個名稱。

版本 2.0
(1997 年 11 月 1 日)

正式名稱為“PHP/FI 2.0”。這是第一個可以真正被定義為 PHP 的版本,它是一種獨立的語言,擁有許多至今仍在使用的特性。

版本 3.0
(1998 年 6 月 6 日)

開發從一個人轉向多名開發者。

Zeev Suraski 和 Andi Gutmans 重寫了該版本的底層程式碼。

版本 4.0
(2000 年 5 月 22 日)

添加了更高階的兩階段解析/執行標籤解析系統,稱為 Zend 引擎。

版本 5.0
(2004 年 7 月 13 日)

Zend Engine II,具有新的物件模型。

版本 5.1
(2005 年 11 月 24 日)

透過在重新設計的 PHP 引擎中引入編譯器變數來提高效能。

新增 PHP 資料物件 (PDO) 作為訪問資料庫的一致介面。

版本 6.x
未釋出

已放棄的 PHP 版本,計劃包含原生 Unicode 支援。

版本 7.0
(2015 年 12 月 3 日)

  • Zend Engine 3,

  • 統一變數語法,

  • 新增 Closure::call(),

  • ??(空值合併)運算子,

  • 返回型別宣告,

  • 標量型別宣告,

  • <=>“太空船”三向比較運算子,

  • 匿名類

版本 7.3
(2018 年 12 月 6 日)

靈活的 Heredoc 和 Nowdoc 語法

版本 8.0
(2020 年 11 月 26 日)

  • 即時 (JIT) 編譯,

  • 以負索引開頭的陣列,

  • 無效的算術/按位運算子上的 TypeError,

  • 變數語法調整,

  • 屬性,

  • 具名引數,

  • match 表示式,

  • 聯合型別、混合型別,

  • 靜態返回型別

廣告