向 PHP5 過渡……
阿恆
PHP5 推出已經三年,但是根據最新的 PHP 使用統計,在所有使用 PHP 的網站中,PHP5 的採納率不足 10%,於是有人在網上發起「向 PHP5 過渡」運動,以 2008 月 2 月 5 日為目標,期望主要的應用程式開發團隊,與及服務供應商和系統管理員,把旗下的 PHP 系統轉移到 PHP5,能夠做出這個承諾的,他們的商標都會在「向 PHP5 過渡」的網站上刊登。
儘管 PHP5 大幅增強了 PHP4 在物件導向的功能,使它成為真正全面支援物件導向的編程語言,也把 XML 和 SOAP 支援內建在執行引擎中,並且引入了功能更強大、安全性更高的 MySQLi 模組,提供更豐富強大的低層檔案及網絡存取功能……究竟是甚麼原因令開發人員和系統管理員對過渡到 PHP5 如此猶豫呢?
我想原因有幾個:
- PHP5 一直未能顯示出它曾經承諾過的執行速度,雖然很多測試都證實 PHP5 在大部分測試項目中比 PHP4 快,例如 SourceLabs Certification Team 便在一份報告中指出,PHP5 在大部分測試項目都略比 PHP4 快,在物件運算上的優勢尤其明顯,但 PHP4 也有部份項目比 PHP5 出色,例如 preg_match 項目,PHP4 比 PHP5 快 30%。所以,在執行實際的應用程式時,PHP5 是不是真的具有速度上的優勢還是未知之數,當大部分的應用程式仍需要與 PHP4 兼容,有多少物件導向的運算來讓 PHP5 發揮所長呢?
- PHP 的開發團隊曾承諾過 PHP5 將會兼容 PHP4 的應用程式,這個承諾並沒有實現,有關物件導向的運算,情況特別嚴重,除了極少應用程式外,很多應用程式均不能直接在 PHP5 上運行,開發人員需要很大的工夫來重寫和測試他們的程式,這需要時間和決心。
- PHP 的開發團隊對 PHP4 一直提供支援,也是令應用程式的開發人員躲懶的藉口。事實上 PHP 的開發團隊也不能在現階段放棄 PHP4,因為還有那麼多應用程式和網站使用 PHP4,放棄 PHP4 等於驅趕客戶到 Perl、ASP、Ruby、Java,那怎麼可以呢?
- 系統管理員在不願意開罪客戶的情況下,也不敢貿然放棄 PHP4,轉用 PHP5 未必吸引多少新客戶,但肯定會令部分必需 PHP4 的客戶流走。少數專業的網絡服務供應商會同時提供 PHP4 和 PHP5,寄存 HKPUG 的 Site5 便是其中一家,這需要對伺服器有深入認識的技術人員,不是每一家供應商都有能力提供這些服務。
現在距離 2008 年 2 月 5 日還有 211 日,你何時會「全面」過渡到 PHP5?希望將來從 PHP5 過渡到 PHP6 會順暢一點吧。