精華區beta PHP 關於我們 聯絡資訊
[推薦使用的 PHP Framework: Code Igniter http://www.codeigniter.com/ ] 因為很懶,所以一直想找捷徑來協助專案開發。我試用過了好幾 套的 Framework,如: Zend Framework, Zoop, Seagull, CakePHP, Symfony, PRADO.等。其中不乏實作 Ruby on Rails 快速開發方 式的 Framework。 Ruby 的開發方式很炫、很快,或許有天會跳 槽過去 :P 有許有天會學 Ruby,但不是現在。時間是個現實的問題。老闆並 不會給一兩個月的給薪假、讓我去熟悉一套 Framework。 我認為合適的 Frameworks該是架構於 PHP學習曲線上的一個延伸 應用,換言之,我希望只需熟悉 PHP這 Script Language 便可駕 輕就熟地使用;而實作 RoR的 PHP Frameworks卻讓我感覺自己在 學新的語言。 我暫時放棄那些實作 RoR 的 Frameworks,畢竟是另外一條相對 昂貴的學習曲線,有違我對 Frameworks 的期許。於是我轉向 Zend Framework, Zoop, 和 Code Igniter這類以 PHP為主,而 非 php code generate scripting的 Frameworks。 Java 和 PHP 都是開放結構的語言,但總感覺 PHP社群不如 Java 『團結』。曾有人做過這樣的評論:『在 Java 的世界中,當有人 開發出輪子之後,其他的爪哇人便拿來做車子;在 PHP的世界中, 每個人都在開發輪子。』 或許多樣性是 PHP社群的特色,這對程式設計的愛好者(寢室電腦 前的我)是個福音,因為總是有新的玩具可以玩;然而這對程式設 計的奴隸(辦公室中的我,囧)而言,這是撒旦的詛咒。 跳脫加班的無限迴圈,是種迫切的渴求... // break; 比起JAVA,PHP幾乎是無政府狀態。很高興繼社群自主的開發 PEAR 和 PECL後,作為 PHP開發母體的 Zend終於挺身做出 Zend Framework。 這讓 PHP的專案開發不再天馬行空,而是能夠能夠透過重用(re-use)、 或延伸「經驗證過(proved method)」的「輪子」。這讓 PHP支援物 件導向撰寫方式,多了實效與誘因。 [不再反覆重新開發輪子] 做為一個促進人類文明的貢獻者,未必要同愛迪生總是在發明新玩 意。需要燈時,去便利商店就可以買到,實在沒必要重新發明。為 了解決相同的,或許已有前人留下了知識和經驗,如果他們沒法累 積,那麼歷史便如同荒漠般悽涼。 曾有部天書--Design Patterns--為程式設計師帶來天啟: 你們的知識和經驗是可以累積的;並且它是可以重用的(re-use)。 該書大概歸納分析了20多種的樣式,每種樣式都是前人為了解決某種 類型的問題而思考出的解法。該書作者(們)的說:樣式只會更多、不 會更少,並且會有更好的方法。 但畢竟前人留下的 Pattern只是種抽象層次的概念、觀念而已。在實 際的程式碼被撰寫之前,她就像相簿中的正妹一樣虛無飄渺。最好是 當我產生某種意念(not 淫念)時,程式碼就順應產生--至少不要讓 我每次都花很多精力處理別人已經解決的問題/高重複性的細節。 在了解物件導向之前,我多以 "ctrl+c & ctrl+v"法來重用程式碼, 雖然有使用「重用」的概念,但是專案整體卻沒省多少時間--省下 的時間都拿去抓一些奇怪的 bug。這主要是因為之前的程式碼是針對 特定的問題,而非「通用」的解決方式撰寫,因此在專案間複製貼上 程式碼,需要修改的地方可能很零散、不容易整理。 藉引入 Libraries 或 Packages,這類「通用」的函式庫,我們可以 重用已開發的 Functions 或是 Classes;使用這些經驗證的 Functions 和 Classes ,程式的可靠度不僅大大提升、也省了重新設計某種常用 類別(如:資料庫連線類別)的時間。 Frameworks是經開發、並組織過的函式庫,目的是為了協助軟體的開 發。善用 Frameworks最大的好處是可以避免為了一些瑣碎的程式碼 加班,早點下班去約會。 提了那麼多... 我想推薦一套 PHP 的 Framework 給大家玩玩。 Code Igniter (http://www.codeigniter.com/) 是我目前用過最棒的 Framework。它有豐富的參考文件(well-documented)、 支援 php4 和 php5、並內建了許多實用的 helper, plugin ... 此外可以輕易的自行擴展它的 lib 然而使用上需對「物件導向」與「Model-View-Controller」的設計樣式有一 定的熟練度。 如果已經熟悉 OO 和 MVC 的概念與實作方式,那麼應該會發現這套 Framework 的學習曲線,剛好緊接著 PHP - 大致上都是對現有的 PHP基礎做完全的延伸。 就連 View 的部分,也是以 PHP scripting 為主,不需要學習其他樣板引擎( 如:Smarty)的 template 語法(如果有需要,可以自己另外掛去) 快而有效,是我對 Framework 和感冒藥的期許。 這套 Framework 恰巧滿符合我的期望。 PS: 網站上可以點選看看 watch in action,它以影片展示 Framework 的開發方式;看過之後可以抓到 MVC 的概念和 framework大致的 使用方式。另外,可以看看 document (Read the User Guide) 裡頭那豐富的範例與解說 :) -- 「640K ought to be enough for anybody.!」 - Bill Gates - -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.199.121
PsMonkey:雖然看不太懂,不過還是來推一下... 12/17 19:43
foxzgerald:(讓人看不懂 >"< )... 是觀念有誤嘛? 還是文辭不通順? 12/17 20:13
PsMonkey:大喊:我沒寫過 PHP... 這個理由夠充分了吧 [挺] 12/17 20:32
rushcat:雖然我也看不懂 但也要推一下!!! 因為是新手...XDDDD" 12/17 20:49
foxzgerald:大家都從新手學起的阿 XD 12/17 20:53
ileadu:ㄟ我也想用,但是看不懂別人寫的東西,只好自己也來寫一個 12/17 21:07
※ 編輯: foxzgerald 來自: 140.119.199.121 (12/17 22:04)
foxzgerald:我修改了一些內容,希望內容能夠更通順流暢 12/17 22:05
foxzgerald:我用這 framework 大概一個月了,期間寫了兩個小專案 12/17 22:06
foxzgerald:如果有什麼問題,可以一起討論 :) 12/17 22:08
superGA:大推這篇!! 我正在尋找framework 12/17 22:41
nightmarelee:推一下!其實我自己也有在包自己的Framwork..... 12/17 22:44
nightmarelee:我現在自己包的東西真是超級陽春 0.0 12/17 22:45
nightmarelee:\看完這套的功能 12/17 22:46