分享數(shù):2什么是CMS和框架的區(qū)別,這個(gè)其實(shí)很重要,應(yīng)該全面而清晰的認(rèn)識(shí)。
1 . 各自代表框架代表:ThinkPHP(簡(jiǎn)稱(chēng)TP,以及它的最新版TP5),Laravel,YII,CI,......CMS:Content Management System:內(nèi)容管理系統(tǒng);代表有:PHPCMS,dedecms,phpMyWind,帝國(guó)CMS,Ecshop,ECMall,Discuz,PHPWind2 . 知識(shí)難度網(wǎng)站建設(shè)的框架需要的知識(shí)含金量比較高,對(duì)面向?qū)ο缶幊趟枷胍钊肜斫猓惨羁潭甅VC原理,單入口原理,標(biāo)簽解析引擎原理,方可以靈活使用框架去開(kāi)發(fā);所以它是適應(yīng)PHP基礎(chǔ)比較全面的人;而CMS不需要那么高深的知識(shí),你稍微懂PHP一些語(yǔ)法,基礎(chǔ)東西,就可以依葫蘆畫(huà)瓢的使用CMS開(kāi)發(fā)出一個(gè)簡(jiǎn)單的項(xiàng)目,而且速度還比較快(但是維護(hù)起來(lái)會(huì)頭痛)。CMS對(duì)PHP入門(mén)級(jí)的人是最?lèi)?ài)。3 . 應(yīng)用范疇CMS的應(yīng)用范圍有局限,要選對(duì),否則后患無(wú)窮。如:某類(lèi)CMS只適合開(kāi)發(fā)一類(lèi)項(xiàng)目,選錯(cuò)了可能要重新開(kāi)發(fā)。比如PHPCMS適合開(kāi)發(fā)文章類(lèi)型的管理系統(tǒng),Ecshop適合開(kāi)發(fā)商城類(lèi)型的項(xiàng)目,Discuz適合開(kāi)發(fā)論壇類(lèi)型的項(xiàng)目;但是你如果要用Ecshop來(lái)開(kāi)發(fā)論壇,就需要改的地方太多了,那就會(huì)走很多彎路....而框架,因?yàn)閷儆诟讓拥臇|西,所以它可以用來(lái)開(kāi)發(fā)任何類(lèi)型的項(xiàng)目。另外,框架還可以開(kāi)發(fā)CMS出來(lái),但反過(guò)來(lái),CMS就不能用來(lái)開(kāi)發(fā)框架(會(huì)造成性能太低)。4 . 開(kāi)發(fā)特點(diǎn)在框架中,你可能看不到一個(gè)具體的控制器子類(lèi)文件,所以基于框架的開(kāi)發(fā),首先要你自己來(lái)寫(xiě)控制器文件,還要安排在什么位置寫(xiě),這些都有框架自己的規(guī)矩,雖然也可以靈活的修改文件夾的位置,但你要麻煩的去尋找為什么。而CMS等開(kāi)源系統(tǒng),這些文件都是幫你寫(xiě)好了的,位置也會(huì)幫你安排好,你在那些現(xiàn)成的文件上修修改改基本上就可以了。你會(huì)少很多事情。5 . 靈活對(duì)比用框架去開(kāi)發(fā),你可以隨意修改你的項(xiàng)目模塊架構(gòu),可以隨意添加你想要的功能,如:你想在文章系統(tǒng)中添加個(gè)旅游模塊也可以;實(shí)例:“PHP葵花寶典”項(xiàng)目()就是用框架開(kāi)發(fā)出來(lái)的,可以方便的添加任何想要的功能。但CMS你要想做到這種穿插功能交集就比較麻煩了。6 . 速度對(duì)比用框架去開(kāi)發(fā),開(kāi)發(fā)的時(shí)候速度慢,但后續(xù)修改靈活,同時(shí)速度會(huì)很快,遇到問(wèn)題可以馬上知道處在哪里了,可謂是“一步到位、一針見(jiàn)血”。用CMS去開(kāi)發(fā):開(kāi)發(fā)的時(shí)候速度快,但后續(xù)修改特別是添加功能模塊的時(shí)候,就不夠靈活,會(huì)造成速度很慢,甚至不大可能實(shí)現(xiàn)。打個(gè)比方:你用框架開(kāi)發(fā)的項(xiàng)目,開(kāi)發(fā)的時(shí)候可能需要2個(gè)月,但你后續(xù)升級(jí)項(xiàng)目,添加個(gè)什么功能可能只要1個(gè)星期。而你用CMS去開(kāi)發(fā),開(kāi)發(fā)項(xiàng)目上線(xiàn)可能只要3個(gè)星期,但是你升級(jí)功能、添加新功能模塊、可能也要3個(gè)星期甚至更多,還有可能實(shí)現(xiàn)不了,或者強(qiáng)加進(jìn)去會(huì)造成該模塊性能甚至整個(gè)系統(tǒng)的性能大大降低。而且每次升級(jí)都是這樣。所以,該如何選擇,你應(yīng)該清楚了吧:如果想做一個(gè)長(zhǎng)久更新的項(xiàng)目,那使用框架去開(kāi)發(fā)是最好的選擇
PHP開(kāi)發(fā)框架和CMS系統(tǒng)平臺(tái);開(kāi)發(fā)框架WACT http://wact.sourceforge.net/老牌的PHP編程框架,實(shí)現(xiàn)了很多企業(yè)級(jí)的開(kāi)發(fā)模式Horde http://www.horde.org/horde/提供了一些常用類(lèi)庫(kù),可以滿(mǎn)足參數(shù)處理、數(shù)據(jù)壓縮、瀏覽器檢測(cè)、鏈接跟蹤以及 MIME。需要PEAR類(lèi)庫(kù)的支持,提供了API參考。Seagull http://seagull.phpkitchen.com/ 推薦一個(gè)面向?qū)ο蟮?b data-id="1003">PHP開(kāi)發(fā)框架,使用了Pear類(lèi)庫(kù),其主要特性有:運(yùn)用組件方式、簡(jiǎn)化數(shù)據(jù)訪(fǎng)問(wèn)、錯(cuò)誤處理機(jī)制和權(quán)限認(rèn)證管理等。studs http://mojavelinux.com/projects/studs/ 推薦Jakarta Struts結(jié)構(gòu)移植過(guò)來(lái)的PHP開(kāi)發(fā)框架,使用面向?qū)ο蟮拈_(kāi)發(fā)結(jié)構(gòu)和API,模擬了一個(gè)HTTP Servlet容器和使用了PHP服務(wù)頁(yè)面引擎技術(shù)InterJinn http://www.interjinn.com/有很多擴(kuò)展模塊提供下載,可惜配置文件使用的是inc格式Php.MVC http://www.phpmvc.net/知名的PHP開(kāi)發(fā)框架 ,基于Java的StrutsPhrame http://phrame.sourceforge.net/雖然不大,但用的很多,也是基于Struts思想Ambivalence http://amb.sourceforge.net/基于Maverick思想實(shí)現(xiàn)的PHP開(kāi)發(fā)框架binarycloud http://www.binarycloud.com/使用了Smarty模板引擎,文檔很完善Prado http://www.xisc.com/Zend獲獎(jiǎng)作品,基于事件驅(qū)動(dòng)的PHP開(kāi)發(fā)框架rwfphp http://www.rwfphp.org/面向?qū)ο蠛褪录?qū)動(dòng)的php開(kāi)發(fā)框架Krysalis http://www.kompletecms.com/把XML文檔轉(zhuǎn)換為XHTML文檔的PHP系統(tǒng)FastFrame http://codejanitor.com/wp/apps/fastframe/可以快速地實(shí)現(xiàn)表單提交Blueshoes http://www.blueshoes.net/ 推薦比較先進(jìn)的一個(gè)framework,提供了很多GUI組件下面這些我也沒(méi)有詳細(xì)看Cgiapp http://weierophinney.net/matthew/downloadFuselogic http://www.haltebis.com/index/wakka/main/FuseLogicCopix http://copix.aston.fr/logicreate http://www.logicreate.com/booby http://www.nauta.be/booby/主要的CMS系統(tǒng)Drupal http://www.drupal.org/Mambo http://www.mamboportal.com/Nucleus http://nucleuscms.org/Midgard http://www.midgard-project.org/Pmachine http://www.pmachine.com/PostNuke http://www.post-nuke.net/sitellite http://www.sitellite.org/eZPublish http://ez.no/limb http://limb-project.com/
php各種主流框架的優(yōu)缺點(diǎn)分析;ThinkPHP(FCS)是一個(gè)輕量級(jí)的中型框架,是從Java的Struts結(jié)構(gòu)移植過(guò)來(lái)的中文PHP開(kāi)發(fā)框架。它使用面向?qū)ο蟮拈_(kāi)發(fā)結(jié)構(gòu)和MVC模式,并且模擬實(shí)現(xiàn)了Struts的標(biāo)簽庫(kù),各方面都比較人性化,熟悉J2EE的開(kāi)發(fā)人員相對(duì)比較容易上手,適合php框架初學(xué)者。 ThinkPHP的宗旨是簡(jiǎn)化開(kāi)發(fā)、提高效率、易于擴(kuò)展,其在對(duì)數(shù)據(jù)庫(kù)的支持方面已經(jīng)包括MySQL、MSSQL、Sqlite、PgSQL、 Oracle,以及PDO的支持。ThinkPHP有著豐富的文檔和示例,框架的兼容性較強(qiáng),但是其功能有限,因此更適合用于中小項(xiàng)目的開(kāi)發(fā)。優(yōu)點(diǎn)1.易于上手,有豐富的中文文檔;2.框架的兼容性較強(qiáng),PHP4和PHP5完全兼容、完全支持UTF8等。3. 適合用于中小項(xiàng)目的開(kāi)發(fā)缺點(diǎn)1.對(duì)Ajax的支持不是很好;2.目錄結(jié)構(gòu)混亂,需要花時(shí)間整理;3.上手容易,但是深入學(xué)習(xí)較難。YiiYii 是一個(gè)基于組件的高性能php框架,用于開(kāi)發(fā)大型Web應(yīng)用。Yii采用嚴(yán)格的OOP編寫(xiě),并有著完善的庫(kù)引用以及全面的教程。從 MVC,DAO/ActiveRecord,widgets,caching,等級(jí)式RBAC,Web服務(wù),到主題化,I18N和L10N,Yii提供了 今日Web 2.0應(yīng)用開(kāi)發(fā)所需要的幾乎一切功能。事實(shí)上,Yii是最有效率的PHP框架之一。優(yōu)點(diǎn)純OOP用于大規(guī)模Web應(yīng)用模型使用方便開(kāi)發(fā)速度快,運(yùn)行速度也快。性能優(yōu)異且功能豐富使用命令行工具。缺點(diǎn):對(duì)Model層的指導(dǎo)和考慮較少文檔實(shí)例較少英文太多要求PHP技術(shù)精通,OOP編程要熟練!View并不是理想view,理想中的view可能只是html代碼,不會(huì)涉及PHP代碼。CodeIgniter優(yōu)點(diǎn):Code Igniter推崇“簡(jiǎn)單就是美”這一原則。沒(méi)有花哨的設(shè)計(jì)模式、沒(méi)有華麗的對(duì)象結(jié)構(gòu),一切都是那么簡(jiǎn)單。幾行代碼就能開(kāi)始運(yùn)行,再加幾 行代碼就可以進(jìn)行輸出。可謂是“大道至簡(jiǎn)”的典范。 配置簡(jiǎn)單,全部的配置使用PHP腳本來(lái)配置,執(zhí)行效率高;具有基本的路由功能,能夠進(jìn)行一定程度的路 由;具有初步的Layout功能,能夠制作一定程度的界面外觀(guān);數(shù)據(jù)庫(kù)層封裝的不錯(cuò),具有基本的MVC功能. 快速簡(jiǎn)潔,代碼不多,執(zhí)行性能高,框架簡(jiǎn) 單,容易上手,學(xué)習(xí)成本低,文檔詳細(xì);自帶了很多簡(jiǎn)單好用的library,框架適合小型應(yīng)用.缺點(diǎn):本身的實(shí)現(xiàn)不太理想。內(nèi)部結(jié)構(gòu)過(guò)于混亂,雖然簡(jiǎn)單易用,但缺乏擴(kuò)展能力。 把Model層簡(jiǎn)單的理解為數(shù)據(jù)庫(kù)操作. 框架略顯簡(jiǎn)單,只能夠滿(mǎn)足小型應(yīng)用,略微不太能夠滿(mǎn)足中型應(yīng)用需要.評(píng)價(jià):總體來(lái)說(shuō),拿CodeIgniter來(lái)完成簡(jiǎn)單快速的應(yīng)用還是值得,同時(shí)能夠構(gòu)造一定程度的layout,便于模板的復(fù)用,數(shù)據(jù)操作層來(lái)說(shuō)封裝的不 錯(cuò),并且CodeIgniter沒(méi)有使用很多太復(fù)雜的設(shè)計(jì)模式,執(zhí)行性能和代碼可讀性上都不錯(cuò)。至于附加的library 也還不錯(cuò),簡(jiǎn)潔高效。 Lavarel 框架優(yōu)點(diǎn)Laravel 的設(shè)計(jì)思想是很先進(jìn)的,非常適合應(yīng)用各種開(kāi)發(fā)模式TDD, DDD 和BDD,作為一個(gè)框架,它準(zhǔn)備好了一切,composer 是個(gè)php 的未來(lái),沒(méi)有composer,PHP 肯定要走向沒(méi)落。laravel 最大的特點(diǎn)和優(yōu)秀之處就是集合了php 比較新的特性,以及各種各樣的設(shè)計(jì)模式,Ioc 容器,依賴(lài)注入等。缺點(diǎn)基于組件式的框架,所以比較臃腫TAG標(biāo)簽耗時(shí):0.039277076721191 秒
如沒(méi)特殊注明,文章均為江浙滬網(wǎng)絡(luò)推廣,轉(zhuǎn)載請(qǐng)注明來(lái)自http://www.0898bike.com/html/news/