星期六, 1月 31, 2009

PHP4

這八天的工作量,算一算,九個頁面只收兩千五,還附帶完整的會員後台系統還有美工,真是破天荒的跳樓拍賣價,好在之前同一位案主,幫他架phpBB3論壇,賣命工作一個晚上搞定,收到三千元,算是有平衡=.=。不過賺多賺少,都是交給家裏用就是了XD。

本來應該昨天就結束的,可是昨天在家裏測試完成,code上傳到虛擬主機執行的時候,PHP跟我說他看不懂我的code。「八卡哪(日語)??難道他用PHP4!!@@」,後來的測試發現我的直覺是對的。一開始想說去call虛擬主機的24hr服務專線,可惜服務員都過年去了。本來想說當場改code讓他能在PHP4用,不過那時已經半夜三點了,就收工去睡覺。

今天早上就開始動工,Google的結果,PHP4的物件導向很不成熟。public/private這些access controller統統不支援,物件有建構子,但是不支援解構子,後來我去Google伸到Script才有辦法用模擬的方式達成解構的行為=.=。物件成員不支援靜態變數、不支援常數(低疤心聲:「暗!那你到底支援什麼?」)。不過往好的想,他起碼支援物件,要是連物件都沒有那我就準備全部重寫了Q_Q。

於是乎,所有基礎物件全部複製一份,當作php4專用版。Notepad++打開,把public、private這些關鍵字全部用空白取代。self::,物件名稱::這些存取靜態成員的全部取代。這裡修修,那裡修修,傳上去總算程式能跑。然後進入單元測試。

結果似乎該虛擬主機不只php老舊,連MySQL都是老版本,我資料庫已經設定utf8了,中文字丟進去卻還是一堆亂碼。後來Google看別人的程式,發現是別人設定語系的部份都打SET NAMES("UTF8"),但我卻打成SET NAMES("UTF-8");「乾系機勒?可是我在家裏的PHP5+MySQL5都沒問題啊」,結果一把該死的小減號拿掉,問題就幸運的解決了。後來的單元測試都沒發現什麼問題,就寄信給案主了。

這三天都沒念到醫學書,該讀點了。 全文連結

0 意見: