適合用于中小項(xiàng)目的開發(fā)5.從.2.2引入包管理工具缺點(diǎn)

2023-12-01    分類: 網(wǎng)站建設(shè)

正文內(nèi)容

長期以來,討論最多的是各種pHp框架的優(yōu)缺點(diǎn)。網(wǎng)上的信息也比較分散?,F(xiàn)在我將收集和總結(jié)幾個(gè)主流框架。其中,我只用過Yii2、、Yaf,這四個(gè)。這種框架,所以對各種框架的評價(jià)大多來自網(wǎng)上資料,有問題請?jiān)谠u論中指出,共同進(jìn)步

一、

(FCS)是一個(gè)輕量級的中型框架,是從Java架構(gòu)移植過來的中文pHp開發(fā)框架。它使用面向?qū)ο蟮拈_發(fā)結(jié)構(gòu)和MVC模型,并模擬實(shí)現(xiàn)的標(biāo)簽庫。它在各個(gè)方面都更加人性化。熟悉J2EE的開發(fā)者比較好用,適合php框架的初學(xué)者。目的是簡化開發(fā),提高效率,并且易于擴(kuò)展。它在數(shù)據(jù)庫支持方面包括了、、、和 pDO 支持。文檔和實(shí)例豐富,框架兼容性強(qiáng),但功能有限,更適合中小型項(xiàng)目的開發(fā)。

優(yōu)勢

1.借助成熟的Java思想

2.使用方便,中文文檔豐富;學(xué)習(xí)成本低,社區(qū)活躍度高

3.框架高度兼容,pHp4和pHp5完全兼容,UTF8完全支持。

4.適合中小項(xiàng)目開發(fā)

5.從.2.2 引入包管理工具

缺點(diǎn)

1. 對 Ajax 的支持不是很好;

2.目錄結(jié)構(gòu)混亂,比其他框架目錄結(jié)構(gòu)差一點(diǎn);

3.上手容易,深入學(xué)習(xí)難。

二、Yii

Yii 是一個(gè)基于組件的高性能 pHp 框架,用于開發(fā)大型 Web 應(yīng)用程序。 Yii采用嚴(yán)格的OOp編寫,并有完整的庫參考和全面的教程。從MVC、DAO/、、、分層RbAC、Web服務(wù),到主題化、I18N和L10N,Yii提供了當(dāng)今Web2.0應(yīng)用開發(fā)所需的幾乎所有功能。事實(shí)上,Yii 是最高效的 pHp 框架之一。

優(yōu)勢

1.純OOp

2.用于大型網(wǎng)絡(luò)應(yīng)用

3.模型好用

4. 開發(fā)速度快,運(yùn)行速度也快。性能卓越,功能豐富

5.使用命令行工具。

6.支持包管理工具

缺點(diǎn):

1.對層的指導(dǎo)和考慮較少

2.更少的文檔示例

3.英語太多

4.要求精通pHp技術(shù),精通OOp編程!

5.View 不是理想的視圖。理想的視圖可能只有html代碼,不涉及pHp代碼。

三、

優(yōu)勢

1.的設(shè)計(jì)思路非常先進(jìn),非常適合TDD、DDD、bDD多種開發(fā)模式的應(yīng)用

2.支持包管理工具

3.集合了php比較新的特性,以及各種設(shè)計(jì)模式、Ioc容器、依賴注入等

缺點(diǎn)

1.是基于組件的框架,所以比較臃腫

四、

優(yōu)點(diǎn):

1.Code 提倡“簡單就是美”的原則。沒有花哨的設(shè)計(jì)模式,沒有華麗的對象結(jié)構(gòu),一切就是那么簡單。幾行代碼就可以開始運(yùn)行了,再多幾行代碼就可以輸出了??胺Q“道對劍”的典范。

2.配置簡單,所有配置使用pHp腳本配置,執(zhí)行效率高;

3.具有基本的路由功能,可以進(jìn)行一定級別的路由;

4.具備初步功能,可以做出一定程度的界面外觀;

5.數(shù)據(jù)庫層封裝的很好,具有基本的MVC功能。

6.快速簡潔,代碼不多,執(zhí)行性能高,

7.框架簡單,好用,學(xué)習(xí)成本低,文檔詳細(xì);

8.自帶很多簡單好用的框架,適合小型應(yīng)用。

缺點(diǎn):

1. 的實(shí)現(xiàn)并不理想。

2. 內(nèi)部結(jié)構(gòu)太混亂了。雖然簡單易用,但缺乏擴(kuò)展能力。

3. 簡單地把層理解為數(shù)據(jù)庫操作。

4.框架有點(diǎn)簡單,只能滿足小型應(yīng)用的需求,有點(diǎn)不能滿足中型應(yīng)用的需求。

評論:

總的來說,完成簡單快速的應(yīng)用程序是值得的。同時(shí)在一定程度上可以構(gòu)造,方便模板復(fù)用。數(shù)據(jù)操作層封裝的很好,沒有使用太多過于復(fù)雜的設(shè)計(jì)模式。性能和代碼可讀性都很好。至于額外的,它們還不錯(cuò),簡單而高效。

五、Zend

優(yōu)點(diǎn):

1.在pHp5中應(yīng)用了大量面向?qū)ο蟮男绿匦裕航涌凇惓?、抽象類、SpL等。這些東西的應(yīng)用使得Zend高度模塊化和靈活

2.嚴(yán)格遵循“為接口編程”和“單一對象責(zé)任”的原則

3.官方產(chǎn)品,自帶很多,框架本身用了很多設(shè)計(jì)模式來寫,架構(gòu)很優(yōu)雅,執(zhí)行效率中等

4.MVC 設(shè)計(jì),更簡潔

5.有路由功能,配置文件比較強(qiáng)大(可以處理XML和php INI)

6.可以直觀地支持除數(shù)據(jù)庫操作以外的層(強(qiáng)于和)php常用框架,并且可以輕松使用該功能加載其他新增層

7.很強(qiáng)大,從前端到后端支持,后端支持,ApC,文件等

8.數(shù)據(jù)庫操作功能非常強(qiáng)大,支持各種驅(qū)動(dòng)(適配器)

9.文檔很全,國內(nèi)社區(qū)也很成熟

缺點(diǎn):

1.MVC 功能補(bǔ)全比較弱,View層實(shí)現(xiàn)簡單(和沒有實(shí)現(xiàn)一樣),不可能非常強(qiáng)大地控制前端頁面。

2. 沒有自動(dòng)腳本。要?jiǎng)?chuàng)建應(yīng)用程序,包括入口文件,都必須自己手動(dòng)構(gòu)建php常用框架,上手成本很高。

3.對于簡單的小項(xiàng)目,沒有在框架中大量應(yīng)用面向?qū)ο蟮脑O(shè)計(jì),反而對開發(fā)者提出了更高的要求,間接增加了項(xiàng)目的開發(fā)成本

評論:

作為官方框架,Zend 的雄心是可以預(yù)見的。他們想擠出其他框架,同時(shí)封裝了很多強(qiáng)大的庫來提供一站式的框架服務(wù),而且他們的開發(fā)團(tuán)隊(duì)非常強(qiáng)大,完全有足夠的能力開發(fā)非常強(qiáng)大的產(chǎn)品,所以基本可以肯定如果需要更多時(shí)間來完善框架,Zend 的前景可期。同樣的,Zend架構(gòu)本身也比較優(yōu)雅,說明Zend官方有很多高手,設(shè)計(jì)理念也比較先進(jìn)。雖然有些功能沒有完全實(shí)現(xiàn),比如View層、自動(dòng)化腳本等,但這些都依賴于未來。升級

六、

優(yōu)點(diǎn):

1.是與RoR最相似的框架,包括設(shè)計(jì)方法和數(shù)據(jù)庫操作方法

2.設(shè)計(jì)層次很優(yōu)雅,沒有冗余,所有功能都是純框架,執(zhí)行效率還不錯(cuò)

3.數(shù)據(jù)庫層功能強(qiáng)大,更適合復(fù)雜的業(yè)務(wù)處理

4. 功能,配置功能中等難度

5. () 非常強(qiáng)大,適合中型應(yīng)用

6.基本實(shí)現(xiàn)了MVC的每一層

7.具有自動(dòng)運(yùn)行命令行腳本的功能

8.文檔齊全,學(xué)習(xí)成本中等

缺點(diǎn):

1.很嚴(yán)重的問題是理解為數(shù)據(jù)庫層操作,嚴(yán)重影響除了數(shù)據(jù)庫之外的操作能力

2.功能稍弱

3.配置功能稍弱

4.不適合大規(guī)模應(yīng)用,只適合中型應(yīng)用。對于小規(guī)模應(yīng)用,學(xué)習(xí)成本略高。

評論:

總的來說,框架代表了一個(gè)非常重要的時(shí)代,也是pHp框架的代表,在當(dāng)前扮演著非常重要的角色。很多自己寫的框架都有模仿的方式,是里程碑式的產(chǎn)品;它揭示了 RoR 敏捷開發(fā)方法和數(shù)據(jù)庫操作作為唯一的設(shè)計(jì)思想是開發(fā)快速應(yīng)用程序和原型的絕佳工具;同樣,也值得選擇作為Web2.0網(wǎng)站的開發(fā)框架

七、

優(yōu)點(diǎn):

1.完全實(shí)現(xiàn)了三層MVC

2.封裝了一切,包括$pOST、$GET數(shù)據(jù)、異常處理、調(diào)試函數(shù)、數(shù)據(jù)檢測

3. 包含強(qiáng)大的緩存功能

4.自動(dòng)加載,各種自己隨意定義

5.強(qiáng)大的語言支持

6.具有非常強(qiáng)大的視圖層操作,可以在中包含單個(gè)多個(gè)文件

7.非常強(qiáng)大的配置功能,使用xml配置來控制所有框架和程序運(yùn)行行為

8.包含強(qiáng)大的多級項(xiàng)目和應(yīng)用管理:--> --> -->,可以滿足一個(gè)項(xiàng)目下多個(gè)應(yīng)用的??需求,并且每一層都可以定義自己的類庫和配置文件,

9.非常強(qiáng)大的命令行操作功能,包括構(gòu)建項(xiàng)目、構(gòu)建應(yīng)用、構(gòu)建模塊、刷新緩存等

10.絕對是大型復(fù)雜項(xiàng)目開發(fā)的選,因?yàn)闀?huì)大大節(jié)省開發(fā)成本,多人協(xié)作也不會(huì)出現(xiàn)問題。定義了層次,定義了基礎(chǔ)之后,任何模塊都可以復(fù)用,大大復(fù)用了代碼。

缺點(diǎn):

1.大的問題是太多不同風(fēng)格的開源項(xiàng)目被用來組成一個(gè)框架

2.由于兩者和本身都比較復(fù)雜,結(jié)構(gòu)非常復(fù)雜,難以理解和學(xué)習(xí)

3. 無法控制緩存功能。每次開發(fā)和調(diào)試時(shí)都會(huì)緩存它。需要執(zhí)行cc、rc來清除和重建緩存。

4.效率不是很高,尤其是解析模板和讀取配置文件的過程,需要很多時(shí)間

5.學(xué)習(xí)成本很高,國內(nèi)也沒有成熟的社區(qū)和中文文檔

評論:

絕對是企業(yè)級框架,唯一能與Java領(lǐng)域強(qiáng)大的框架抗衡的東西;強(qiáng)大的東西自然學(xué)起來比較復(fù)雜,但是對應(yīng)的東西對項(xiàng)目開發(fā)也更有幫助。當(dāng)然,建議使用復(fù)雜的項(xiàng)目。處理起來,我覺得還是值得的,后期維護(hù)成本比較低,復(fù)用性很強(qiáng)。相應(yīng)的,如果你在使用比較復(fù)雜的互聯(lián)網(wǎng)項(xiàng)目,就必須相應(yīng)地考慮數(shù)據(jù)庫分布的問題,那么就需要舍棄內(nèi)置的數(shù)據(jù)庫操作層,需要自己定義,當(dāng)然支持任意構(gòu)建層

一般評論:

以上幾個(gè)框架各有特點(diǎn),都是開源項(xiàng)目,只是框架針對的項(xiàng)目不同。一般而言:

1.小項(xiàng)目:

2. 項(xiàng)目:,Zend,

3.大型重量級項(xiàng)目:Yii,,,

以上劃分不是絕對的。選擇項(xiàng)目時(shí),一定要充分考慮框架的可定制性和可擴(kuò)展性,因?yàn)槊總€(gè)項(xiàng)目都不能確定自己是否會(huì)隨著需求的變化而變化

以上是pHp常用的七種框架優(yōu)缺點(diǎn)的詳細(xì)內(nèi)容。更多內(nèi)容請關(guān)注php中文網(wǎng)其他相關(guān)文章!

免責(zé)聲明:本文首發(fā)于php中文網(wǎng)。轉(zhuǎn)載請注明出處。感謝您的尊重!如果您有任何問題,請聯(lián)系我們

分享題目:適合用于中小項(xiàng)目的開發(fā)5.從.2.2引入包管理工具缺點(diǎn)
文章URL:http://www.muchs.cn/news23/297823.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)云服務(wù)器、網(wǎng)站排名營銷型網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)

網(wǎng)站建設(shè)知識