在網(wǎng)站建設(shè)中,如果你是一個(gè)PHP忍者,而不是一個(gè)鐵桿的Ruby追隨者,你也許會(huì)驚奇市面上已經(jīng)有這么多的框架,哪一個(gè)才是適合你的。當(dāng)然回答和個(gè)問(wèn)題取決于的諸多因素,今天我們將會(huì)回顧一下這個(gè)典型的問(wèn)題,如何為你的下一個(gè)應(yīng)用系統(tǒng)選擇適合你的PHP框架。
同時(shí)我們也來(lái)看一下比較流行的PHP框架,比較一下他們的區(qū)別,這樣可以幫你自己做出明智的選擇,找到適合你項(xiàng)目的框架。那么接下來(lái)讓我們來(lái)測(cè)試幾款比較流行的框架和他們所能提供給我們的功能特性吧。
Openbiz Cubi PHP開(kāi)發(fā)框架
這顯然是一個(gè)高耦合性的框架的代表,有點(diǎn)讓開(kāi)發(fā)人員“拎包入住”快捷酒店一樣的的感覺(jué)。Openbiz Cubi 是一個(gè)應(yīng)用平臺(tái)式的開(kāi)發(fā)框架。雖然與眾多更加耳熟能詳?shù)目蚣芟啾?Openbiz Cubi 仍然是一匹黑馬,但是還是一個(gè)十分值得推薦的框架。它自身基于Zend Framework構(gòu)建,但是擁有自己獨(dú)特的基于元數(shù)據(jù)的 MVC 和 ORM 邏輯,并采用Smarty和PHP模板 作為主要UI的模板引擎,所以如果你是Zend框架的玩家,別擔(dān)心,Openbiz Cubi的代碼也會(huì)同樣讓你很容易上手。
它不同于其他傳統(tǒng)意義上的PHP框架,它具有一個(gè)類(lèi)似JAVA的元數(shù)據(jù)引擎, 可以通過(guò)XML的方式來(lái)“描述”大多數(shù)對(duì)象,甚至通過(guò)XML的描述就可以實(shí)現(xiàn)數(shù)據(jù)的CRUD(增刪讀改)這些操作。如果你的業(yè)務(wù)需求僅僅是要實(shí)現(xiàn)一些簡(jiǎn)單 的數(shù)據(jù)CRUD操作,你甚至不需要去寫(xiě)什么PHP代碼,XML就可以全部搞定。而你的PHP功夫可以通過(guò)他的Plugin-Service方式用于集中在 實(shí)現(xiàn)某些特殊的業(yè)務(wù)邏輯上。
Openbiz Cubi目 前還有一個(gè)叫做 Openbiz Appbuilder 的超級(jí)好用的代碼生成工具,對(duì)于還不熟Openbiz的XML元數(shù)據(jù)的開(kāi)發(fā)人員來(lái)說(shuō),Appbuilder 絕對(duì)是一個(gè)可以幫助你快速上手的利器,他通過(guò)圖形界面的生成向?qū)?lái)幫你自動(dòng)創(chuàng)建數(shù)據(jù)對(duì)象、表單對(duì)象、嵌入式服務(wù),甚至整個(gè)應(yīng)用程序的雛形。 按Openbiz的官方介紹來(lái)說(shuō),你只需要思考清楚你的應(yīng)用程序的業(yè)務(wù)邏輯,剩下的代碼工作就交給Openbiz Appbuilder來(lái)幫你搞定吧。
CakePHP 開(kāi)發(fā)框架
如果你仍然需要編寫(xiě)面向PHP4兼容的代碼,CakePHP 將是一個(gè)非常不錯(cuò)的選擇, 在PHP 4 & 5的MVC式框架列表里面,CakePHP都曾經(jīng)是流行的。它還提供了很多種途徑的技術(shù)支持(討論組、留言板、IRC等)還有優(yōu)秀的教程。 CackePHP是個(gè)很容易上手的框架,但是你并不容易在短短幾周的時(shí)間就完全掌握它。
Zend Framework PHP框架
Zend Framework 是面對(duì)一些較有經(jīng)驗(yàn)的開(kāi)發(fā)者和從底層構(gòu)建一些企業(yè)級(jí)應(yīng)用程序而設(shè)計(jì)的。(例如:宣稱(chēng)面向企業(yè)應(yīng)用而設(shè)計(jì)的 Openbiz Cubi 就是基于Zend Framework框架之上而構(gòu)建的。)該框架是高度模塊化的。這意味著你可以按你的實(shí)際需要來(lái)引用Zend的代碼。有些函數(shù)庫(kù)甚至可以很容的被提取出來(lái) 單獨(dú)使用(例如Zend_Gdata,這也是個(gè)低耦合性的特點(diǎn))使用Zend框架,你不必非要遵從它的MVC架構(gòu),(雖然你好能這么做),并且它還提供 了許多內(nèi)建的高級(jí)功能用于完成與現(xiàn)有的web服務(wù)整合,多語(yǔ)言化和實(shí)現(xiàn)單元測(cè)試這些任務(wù)。
CodeIgniter PHP框架
CodeIgniter 是一個(gè)PHP5.2+ 的MVC框架,它體積小巧切具有豐富的文檔資源。通常被稱(chēng)為“初學(xué)者框架”,因?yàn)樗鄬?duì)容易試用和較短的學(xué)習(xí)曲線(xiàn),此外CodeIgniter也是十分靈 活和強(qiáng)大的。該框架擁有一個(gè)非常龐大的社區(qū)支持。并且在社區(qū)里面很容易找到大量的CI函數(shù)庫(kù),你可以大膽的夢(mèng)想, 也許你正需要做的事情在社區(qū)的某個(gè)交流,某個(gè)人已經(jīng)把它實(shí)現(xiàn)了。
Symfony PHP框架
Symfony 是古老的PHP框架之一(相信你從他的網(wǎng)站風(fēng)格上也發(fā)現(xiàn)這一點(diǎn)了),他同樣也是轉(zhuǎn)為企業(yè)級(jí)Web應(yīng)用程序而設(shè)計(jì)的。然而,對(duì)于他所能提供的所有動(dòng)力和性 能而言,它只擁有很小的體積并且非常容易配置在大多數(shù)php的主機(jī)環(huán)境中。由于他的年頭長(zhǎng)久,你會(huì)很容易找到許多關(guān)于Symfony的教程、書(shū)記等資 料,對(duì)于新手來(lái)說(shuō),這絕對(duì)是件好事兒。
Symfony使用命令行代碼生成工具來(lái)為項(xiàng)目快速生成所需的代碼,這種方式也許對(duì)于某些開(kāi)發(fā)人員來(lái)說(shuō)是前所未聞的(在那個(gè)年頭,也許 吧。。。)然后,他可以幫助你在很短的時(shí)間里完成代碼并是他們可以運(yùn)行。Symfony的網(wǎng)站上手機(jī)了大量的教程和范例代碼,來(lái)幫助你熟悉掌握他們。
Yii FrameworkPHP框架
Yii 是一個(gè)高度模塊化,高性能的PHP5框架,專(zhuān)門(mén)為了Web應(yīng)用程序而開(kāi)發(fā)。Yii采用了大量的命令行生成工具,讓你可以快速的生成一些代碼,因此,他適 合于喜歡在命令行的黑窗口上敲敲打打的人。所有這些代碼生成工具意味著你需要記住更多的命令和參數(shù),但是一點(diǎn)你做到了,你會(huì)發(fā)現(xiàn),它們將大大減少你所要花 費(fèi)的時(shí)間來(lái)設(shè)置和配置你的應(yīng)用程序。
這種開(kāi)發(fā)方式 非常類(lèi)似于Openbiz Appbuilder所提供的向?qū)降拇a生成方式,大的不同點(diǎn)是Yii是基于命令行去生成代碼,Openbiz Appbuilder是在圖形界面上生成代碼。