里程碑版本:PHP 5.0 正式登場
2004 年 7 月 13 日,備受矚目的 PHP 5.0 正式發布。對 PHP 語言本身與開發者社群而言,這是里程碑式的版本。早期 PHP 憑藉簡潔語法、豐富函式庫與極速執行效能,成為 *NIX 平台首選 Web 開發語言。然而語言模型發展緩慢,PHP 4 雖引入物件導向,但缺乏建構子/解構子、抽象類別/介面、例外處理等核心 OO 元素,嚴重限制大型應用開發能力。
Zend Engine 2:徹底重寫核心引擎
PHP 5 採用全新 Zend Engine 2,從根本解決上述缺陷:
- 完整物件模型:物件預設採用「淺拷貝」(參考傳遞),PHP 4 為「深拷貝」(值傳遞)。此變更導致不完全相容 PHP 4,但提供「PHP 相容模式」緩解遷移。
- 建構子/解構子:
__construct() / __destruct()
- 抽象類別與介面:
abstract class、interface、implements
- 例外處理:
try/catch/throw 機制
- 靜態成員:
static 關鍵字支援屬性與方法
- final、private、protected、public 可見性控制
- 物件攔截器:
__get、__set、__call、__clone 等魔術方法
XML 功能全面強化
- SimpleXML:全新 XML 處理介面,可像存取物件屬性/陣列一樣直觀存取 XML 資料
- SOAP 擴充模組:標準支援 SOAP,強化 Web Services 整合能力
- 改進 DOM、XSLT、XPath 支援
資料庫存取增強
- MySQLi(MySQL Improved):全新 MySQL 介面,支援物件導向 API、預處理陳述式、多重查詢、交易控制等 MySQL 4.1+ 新特性
- SQLite 內建:輕量級關聯式資料庫引擎隨 PHP 5 內建,無需獨立伺服器進程,適合嵌入式應用
其他重要改進
- 統一錯誤處理機制
- 改進記憶體管理與效能優化
- 新增反射 API(Reflection API)支援程式碼自省
- 更完善的 Streams 與檔案系統抽象層
遷移建議
PHP 5 引入重大語義變更(尤其物件傳遞機制),現有 PHP 4 專案升級前務必完整測試。官方提供 php_compat 擴充與相容模式協助過渡。新專案強烈建議直接採用 PHP 5,享受完整 OO 能力與現代化功能集。