[情報] PHP Framework

看板PHP作者 (O⊥M)時間19年前 (2006/12/17 16:35), 編輯推噓9(906)
留言15則, 8人參與, 最新討論串1/20 (看更多)
[推薦使用的 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本身為主體, 而非 code generate scripting的 Frameworks。 Java 和 PHP 都是開放架構的語言,但總感覺 PHP社群不如 Java 團結。曾有人做過這樣的評論: 『在 Java 的世界中,有人開發出輪子之後,其他的爪哇人便 拿來做車子;在 PHP的世界中,每個人都在開發輪子。』 或許多樣性是 PHP社群的特色,這對程式設計的愛好者(寢室電腦 前的我)是個福音,因為總是有新的玩具可以玩;然而這對程式設 計的奴隸(辦公桌前的我,囧)而言,這是撒旦的詛咒。 跳脫加班的無限迴圈,是種迫切的渴求... // break; 比起JAVA,PHP幾乎是無政府狀態。很高興繼社群自主的開發 PEAR 和 PECL後,作為 PHP開發母體的 Zend終於挺身做出 Zend Framework 這讓 PHP的專案開發不再天馬行空,而是能夠能夠透過重用(re-uses)、 或延伸(extents)「經驗證過(proved method)」的「輪子」。 這讓 PHP支援物件導向撰寫方式,多了實效與誘因。 [不再反覆重新開發輪子] 作為促進人類文明的貢獻者,未必要同愛迪生總是在發明新玩意兒。 當便利商店賣的燈可以滿足需求時,實在沒必要重新發明。前人解決 問題後留下了不少知識和經驗,如果無法善用這些寶藏,那麼歷史的 意義便如同荒漠般悽涼。 曾有部天書-設計樣式(Design Patterns)-為程式設計師帶來天啟: 『你們的知識和經驗是可以累積的;並且它是可以重用的(re-use)』 該書大概歸納分析了20多種的樣式,每種樣式都是前人為了解決某種 類型的問題而思考出的解法。該書作者(們)的說:樣式只會更多、不 會更少,並且可能有比書上更好的方法存在。 但畢竟前人留下的樣式(pattern)只是種抽象層次的概念、觀念而已。 在實際的程式碼被撰寫之前,她就像相簿中的正妹一樣虛無飄渺。最 好是當我產生某種意念(not 淫念)時,程式碼就順應產生--至少不 要讓我每次都花很多精力處理別人已經解決過的問題、以及那些專案 間的高重複性的細節。 在我了解物件導向的真義之前,我多以『Ctrl+C Ctrl+V』法來實作 「重用」程式碼,但是整體而言卻沒省多少時間,甚至得花時間去抓 些奇怪的 bug。這主要是因為之前的程式碼是針對「特定的問題」而 非「通用」的解決方式所撰寫,因此在專案間複製貼上程式碼,需要 修改的地方會很零散、不易整理。 藉引入函式庫(libraries)或套件(packages),這類「通用」的程式碼 我們可以重用已開發、經驗證的函式(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

12/17 19:43, , 1F
雖然看不太懂,不過還是來推一下...
12/17 19:43, 1F

12/17 20:13, , 2F
(讓人看不懂 >"< )... 是觀念有誤嘛? 還是文辭不通順?
12/17 20:13, 2F

12/17 20:32, , 3F
大喊:我沒寫過 PHP... 這個理由夠充分了吧 [挺]
12/17 20:32, 3F

12/17 20:49, , 4F
雖然我也看不懂 但也要推一下!!! 因為是新手...XDDDD"
12/17 20:49, 4F

12/17 20:53, , 5F
大家都從新手學起的阿 XD
12/17 20:53, 5F

12/17 21:07, , 6F
ㄟ我也想用,但是看不懂別人寫的東西,只好自己也來寫一個
12/17 21:07, 6F
※ 編輯: foxzgerald 來自: 140.119.199.121 (12/17 22:04)

12/17 22:05, , 7F
我修改了一些內容,希望內容能夠更通順流暢
12/17 22:05, 7F

12/17 22:06, , 8F
我用這 framework 大概一個月了,期間寫了兩個小專案
12/17 22:06, 8F

12/17 22:08, , 9F
如果有什麼問題,可以一起討論 :)
12/17 22:08, 9F

12/17 22:41, , 10F
大推這篇!! 我正在尋找framework
12/17 22:41, 10F

12/17 22:44, , 11F
推一下!其實我自己也有在包自己的Framwork.....
12/17 22:44, 11F

12/17 22:45, , 12F
我現在自己包的東西真是超級陽春 0.0
12/17 22:45, 12F

12/17 22:46, , 13F
\看完這套的功能
12/17 22:46, 13F

11/22 20:12, , 14F
原來這已是兩年前的文章, 還是要推.
11/22 20:12, 14F
沒想到時間過這麼快 :P .. 我重新順了一便文路, 希望文法能更貼近一般人常用的中文 XD ※ 編輯: foxzgerald 來自: 61.223.228.207 (11/22 20:56)

10/18 16:36, , 15F
推推 真是好文
10/18 16:36, 15F
文章代碼(AID): #15XG5SVP (PHP)
討論串 (同標題文章)
文章代碼(AID): #15XG5SVP (PHP)