2023-11-26 分類: 網(wǎng)站建設(shè)
pHp開(kāi)發(fā)框架最近已成為pHp社區(qū)中討論的熱門話題,并且?guī)缀趺刻於加行碌目蚣馨l(fā)布。面對(duì)市場(chǎng)上四十多個(gè)開(kāi)發(fā)框架,很難判斷哪一個(gè)最適合您,尤其是當(dāng)這些框架提供的功能不同時(shí)。
概述
在下面,您將看到這十個(gè)開(kāi)發(fā)框架的列表,列出了它們提供的功能。
#1:指示框架是否具有內(nèi)置的model-view-controller。
#2:指示框架是否可以不經(jīng)修改就支持多個(gè)數(shù)據(jù)庫(kù)。
#3:指示框架是否支持對(duì)象記錄映射器,通常這是一個(gè)ActiveRecord包。
#4:指示框架是否包含其他數(shù)據(jù)庫(kù)對(duì)象,例如tableGateWay。
#5:指示框架是否具有內(nèi)置的模板引擎。
#6:指示框架是否緩存對(duì)象或其他緩存機(jī)制。
#7:指示框架是否具有內(nèi)置的驗(yàn)證或過(guò)濾組件。
#8:指示框架是否具有內(nèi)置的Ajax支持。
#9:指示框架是否具有內(nèi)置的用戶身份驗(yàn)證模塊。
#10:指示框架是否包含其他模塊,例如RSS feed解析器,pDF模塊或其他有用的模塊。
Zend框架
Zend Framework盡管沒(méi)有利用比較表,但Zend Framework確實(shí)包括一些用于處理pDF文檔,RSS feed,在線服務(wù)(Amazon,F(xiàn)lickr,Yahoo)等等的模塊。 Zend Framework還包含幾個(gè)不同的數(shù)據(jù)庫(kù)對(duì)象,這極大地簡(jiǎn)化了數(shù)據(jù)庫(kù)查詢的實(shí)現(xiàn),甚至免除了手寫SQL查詢腳本的麻煩。
當(dāng)前,Zend Framework尚未完全支持ORM,但是開(kāi)發(fā)人員仍在是否是否添加ORM層的爭(zhēng)論中陷入困境。也許這些功能將在將來(lái)實(shí)現(xiàn),您可以編寫自己的ORM軟件包,為社區(qū)做出貢獻(xiàn),并有機(jī)會(huì)將其集成到框架的未來(lái)版本中。
Zend Framework看起來(lái)很有前途,并且還解決了一些常見(jiàn)的pHp問(wèn)題。也許穩(wěn)定版可以在比較表中表現(xiàn)更好!
CakepHp
CakepHp是一個(gè)高級(jí)MVC框架,帶有一些模塊。它可以處理大多數(shù)數(shù)據(jù)庫(kù)事務(wù),并支持Ajax數(shù)據(jù)驗(yàn)證。同時(shí),其用戶身份驗(yàn)證模塊(訪問(wèn)列表)也非常獨(dú)特,可以在訪問(wèn)網(wǎng)站的不同部分時(shí)為不同的用戶分配相應(yīng)的訪問(wèn)權(quán)限。
盡管CakepHp的網(wǎng)站看起來(lái)令人困惑,但框架本身相對(duì)完整且可用。截至撰寫本文時(shí),尚無(wú)穩(wěn)定版本,這確實(shí)令人驚訝。畢竟,它已經(jīng)開(kāi)發(fā)了幾個(gè)月,但我想使用beta版開(kāi)發(fā)產(chǎn)品可能還可以。
Symfony項(xiàng)目
從比較表中不難看出Symfony是一個(gè)非常可擴(kuò)展的開(kāi)發(fā)框架。它甚至具有稱為propel的完全嵌入式ORM。 propel也是一個(gè)開(kāi)源項(xiàng)目,到目前為止可能是pHp上最好的項(xiàng)目。 ORM解決方案。 Symfony還為數(shù)據(jù)庫(kù)抽象層集成了Creole,為MVC模型層集成了Mojavi。因?yàn)樗恢赜眠@些項(xiàng)目的源代碼,而不是重寫它們,所以它使框架具有非常強(qiáng)大的可擴(kuò)展性,這在表中顯而易見(jiàn)。
Symfony有兩個(gè)缺點(diǎn),因此它不支持pHp4。這是由于需要支持pHp5中的許多新功能。其次,它相對(duì)復(fù)雜。大多數(shù)任務(wù)(例如分頁(yè))在Symfony中都有一個(gè)時(shí)間限制,該時(shí)間限制比其他框架要復(fù)雜得多。這絕不是以其簡(jiǎn)單性而聞名的框架。
海鷗框架
Seagull框架看起來(lái)不錯(cuò),具有許多功能。支持pHp4對(duì)其推廣也非常有利。我仍在使用pHp4,并且大多數(shù)托管服務(wù)提供商尚未完全支持pHp5。
不幸的是php框架比較php框架比較,Seagull不提供對(duì)Ajax的支持,這確實(shí)是不合理的,但是通過(guò)Google,您可以輕松地搜索有關(guān)自己添加Ajax支持的教程,將來(lái)應(yīng)將其添加到框架中。
WACT-Web應(yīng)用程序工具包
WACT具有巨大的潛力。該框架的基本組件很容易獲得,例如MVC,數(shù)據(jù)庫(kù)對(duì)象和模板引擎,但僅此而已。它沒(méi)有任何外部模塊,也缺少一些內(nèi)置功能,例如Ajax,緩存,驗(yàn)證模塊等。
盡管如此,WACT仍然擁有最好的模板引擎,甚至可以幫助您創(chuàng)建自己的模板標(biāo)簽以擴(kuò)展功能。
普拉多
prado非常獨(dú)特,它提供了一些很酷的功能。它沒(méi)有對(duì)MVC的內(nèi)置支持(以我的觀點(diǎn)),但是它確實(shí)具有處理大多數(shù)pHp任務(wù)的各種組件,甚至更好的是,它實(shí)現(xiàn)了事件驅(qū)動(dòng)的腳本。例如,在HTML按鈕上設(shè)置onClick事件以鏈接到pHp函數(shù)。這類似于ASp.NET,并且prado確實(shí)包含更多的ASp.NET組件,例如GridView和Repeater Control。
僅根據(jù)比較表中的數(shù)據(jù),prado似乎比其他框架要弱,但事實(shí)并非如此。因?yàn)閜rado非常獨(dú)特,所以盡管得分很低,但在實(shí)際應(yīng)用中卻非常強(qiáng)大。
Trax上的pHp
這個(gè)框架似乎是Ruby和Rails在pHp上的接口。之前它實(shí)際上被稱為pHp on Rails。不幸的是,它的文檔太少了,因此很難確定該框架到底提供了什么,但是文檔中確實(shí)提到了ActiveRecord,因此它可能像RoR一樣提供ActiveRecord。此外,它還具有內(nèi)置的Ajax支持,從其網(wǎng)站上的兩個(gè)演示視頻中不難看出。
Trax上的pHp基本上可以滿足用戶對(duì)該框架的要求,但是它仍然缺少諸如驗(yàn)證模塊和緩存模塊之類的東西。它也沒(méi)有任何外部模塊,所以目前,它是非?;镜?。
Zoop框架
Zoop Framework可以說(shuō)是無(wú)所不包的。從比較表中可以明顯看出,除了ORM層之外,幾乎所有應(yīng)支持的東西都受支持。更令人驚訝的是它支持pHp4,對(duì)于它提供的全面功能來(lái)說(shuō)太簡(jiǎn)單了,太好了!
Zoop還提供了內(nèi)置的GUI控件,使創(chuàng)建表單的工作變得非??臁KС肿畛R?jiàn)的表單元素。在常規(guī)HTML中使用GUI控件的優(yōu)點(diǎn)是可以將驗(yàn)證的邏輯操作與GUI控件緊密結(jié)合。
eZ組件
Ez Components與其說(shuō)是框架,不如說(shuō)是一組組件,也許是因?yàn)樗鼪](méi)有對(duì)MVC的內(nèi)置支持。
它包括大多數(shù)常見(jiàn)組件,例如數(shù)據(jù)庫(kù)組件和緩存組件,但是仍然缺少某些組件。例如,沒(méi)有ActiveRecord組件和驗(yàn)證組件。另一方面,它提供了一些外部組件,例如電子郵件組件,但是其他框架(例如Zend Framework)卻沒(méi)有提供更多的外部組件。
CodeIgniter
CodeIgniter是一個(gè)相對(duì)較新的框架。它的作者是ExpressionEngine的開(kāi)發(fā)團(tuán)隊(duì)(譯者注:不幸的是,pHp博客程序pMachine的升級(jí)產(chǎn)品,它不是免費(fèi)的),它看起來(lái)很有希望。不幸的是,盡管此功能仍在開(kāi)發(fā)中,它尚不能處理多個(gè)數(shù)據(jù)庫(kù)。
它是從Ruby on Rails派生的,因此它提供了許多相同的功能,例如腳手架(自動(dòng)代碼生成)。它的文檔非常好,甚至還有視頻教程可以幫助您快速入門。
我必須非常遺憾地宣布沒(méi)有人獲勝。每個(gè)框架提供不同的功能,因此沒(méi)有人能贏。與往常一樣,最終這將取決于個(gè)人偏好和選擇。我強(qiáng)烈建議您在做出決定之前,仔細(xì)研究每個(gè)框架的文檔,然后根據(jù)自己的判斷來(lái)做出決定。
我個(gè)人非常喜歡Zend Framework,但是在仔細(xì)研究了每個(gè)框架之后,我發(fā)現(xiàn)了很多有趣的功能,例如prado事件或Symfony ORM包。
當(dāng)您真的無(wú)法決定選擇哪種框架時(shí),您仍然可以像大多數(shù)人一樣選擇:自己動(dòng)手做。盡管它既費(fèi)時(shí)又費(fèi)力,但卻很有趣。
如開(kāi)頭所述,一些框架已進(jìn)行了重大更新,最近我更傾向于使用symfony。它豐富的文檔非常容易上手,但是它的復(fù)雜性也使開(kāi)發(fā)小型項(xiàng)目變得容易,甚至像我這樣。個(gè)人微型項(xiàng)目的過(guò)程也略勝一籌,在這方面CodeIgniter的簡(jiǎn)單性就足夠了。
轉(zhuǎn)載自
本文名稱:pHp開(kāi)發(fā)框架一覽表:表示框架是否內(nèi)建Ajax支持
地址分享:http://jinyejixie.com/news41/296691.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、關(guān)鍵詞優(yōu)化、網(wǎng)站營(yíng)銷、域名注冊(cè)、App開(kāi)發(fā)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容