6月
25
2007
分類:
最近更新:
2007-06-25
為什麼還不升級PHP5
jaceju 於《PHP5 將滿 4 歲》一文中說了一些他碰到的原因。
我的經驗,應用軟體的問題還好,大部份 PHP4 的軟體在 PHP5 的環境上一樣可以跑,只是語法 notice 多了點。再者,在 PHP4 的軟體中混雜 PHP5 的語法也不會影嚮程式運作。
我做過一件在 Xoops 下開發新模組的案子,執行環境是PHP5。因為我的開發環境設置 error_reporting = ALL ,所以看得到 Xoops 跑出不少語法的 notice 。但一般環境只設置 error_reporting = ERROR ,所以不會看到 notice 等級的訊息。儘管有許多語法 notice , Xoops 還是可以在 PHP5 運作。而我依然可以用 PHP5 的語法寫新的 Xoops 模組。
但虛擬主機商是一個很大的障礙。只要它們不升級到 PHP5 ,我們就只能跑純 PHP4 的軟體,不能跑混雜 PHP5 程式碼的軟體。
目前我在寫的 PHP 程式,幾乎都限 PHP5 (version 5.1.x) 。有兩點原因:
- 我很難割捨 PHP5 增加的 magic methods。少寫一堆重覆的 method code。使用上彈性更大。
- 很多 extensions 也是 PHP5 才有或者內建。像 PDO、SimpleXML、DOM、XSL等。 JSON、Zip 在 PHP 5.2 以後成為內建extensions。
台灣並不是沒有 PHP5 的好書,我之前就介紹過一本。儘管那些書都是外文翻譯,但內容大多是有口皆碑。台灣的 PHP 使用者並不是沒有書可以看。然而正如 jaceju 所言,眼下多數 PHP 使用者並不想深入了解 PHP 。他們只停留在初級階級:用直敘的程式碼解決特定問題。按我在 TWPUG、藍色小舖等站看到的問題內容,會令我懷疑那些人還在看 PHP3 的書。
每種程式語言的使用族群中,都有這一類程序員存在。但 PHP 的易學與普及性,使許多這一類程序員轉移到 PHP 領域。他們寫出了許多結構不好的程式碼,令 PHP 蒙受不白之冤,被人說程式碼結構不好。這真是外行人的說法。程式碼結構好或不好,跟程式語言沒有關係,而是看程序員如何設計。難道 Java 就沒有結構不好、各種目的混在一起的程式嗎?我照樣見過不少。《Java AntiPattern:避開Java開發的失敗經驗》中還有專章說明「神奇按鈕」。在 JSP framework 出現前,Java 程序員寫 servlet 時犯的毛病,與 PHP 程序員差不多。
說來說去,人的思想精神才是關鍵。只要有心,人人都可以是食神... 呃,更正。人人都可以是 PHP5 高手。
樂多舊網址: http://blog.roodo.com/rocksaying/archives/3526951.html
樂多舊回應