介紹PHP開發框架和(hé)CMS系統平台

2019-09-01

1541750783599_[1200]-[PHP-開發一(yī)個-MVC-框架](1).jpg


什麽是CMS和(hé)框架的(de)區别,
這個其實很重要,應該全面而清晰的(de)認識。

1 . 各自(zì)代表
框架代表:ThinkPHP(簡稱TP,以及它的(de)最新版TP5),Laravel,YII,CI,......
CMS:Content Management System:內(nèi)容管理(lǐ)系統;代表有:PHPCMS,dedecms,phpMyWind,帝國(guó)CMS,Ecshop,ECMall,Discuz,PHPWind

2 . 知識難度
網站建設的(de)框架需要的(de)知識含金量比較高(gāo),對面向對象編程思想要深入理(lǐ)解,也要深刻懂MVC原理(lǐ),單入口原理(lǐ),标簽解析引擎原理(lǐ),方可(kě)以靈活使用框架去(qù)開發;
所以它是适應PHP基礎比較全面的(de)人;
而CMS不需要那麽高(gāo)深的(de)知識,你稍微懂PHP一(yī)些語法,基礎東西,就可(kě)以依葫蘆畫瓢的(de)使用CMS開發出一(yī)個簡單的(de)項目,而且速度還比較快(但是維護起來會頭痛)。
CMS對PHP入門級的(de)人是最愛。

3 . 應用範疇

CMS的(de)應用範圍有局限,要選對,否則後患無窮。如(rú):某類CMS隻适合開發一(yī)類項目,選錯了可(kě)能要重新開發。
比如(rú)PHPCMS适合開發文章(zhāng)類型的(de)管理(lǐ)系統,Ecshop适合開發商城類型的(de)項目,Discuz适合開發論壇類型的(de)項目;
但是你如(rú)果要用Ecshop來開發論壇,就需要改的(de)地(dì)方太多了,那就會走很多彎路....
而框架,因為(wèi)屬于更底層的(de)東西,所以它可(kě)以用來開發任何類型的(de)項目。
另外,框架還可(kě)以開發CMS出來,但反過來,CMS就不能用來開發框架(會造成性能太低(dī))。


4 . 開發特點

在框架中,你可(kě)能看不到一(yī)個具體的(de)控制器子(zǐ)類文件,所以基于框架的(de)開發,首先要你自(zì)己來寫控制器文件,還要安排在什麽位置寫,
這些都有框架自(zì)己的(de)規矩,雖然也可(kě)以靈活的(de)修改文件夾的(de)位置,但你要麻煩的(de)去(qù)尋找為(wèi)什麽。
而CMS等開源系統,這些文件都是幫你寫好了的(de),位置也會幫你安排好,你在那些現成的(de)文件上修修改改基本上就可(kě)以了。你會少很多事情。


5 . 靈活對比

用框架去(qù)開發,你可(kě)以随意修改你的(de)項目模塊架構,可(kě)以随意添加你想要的(de)功能,如(rú):你想在文章(zhāng)系統中添加個旅遊模塊也可(kě)以;
實例:“PHP葵花寶典”項目(www.phpkhbd.com)就是用框架開發出來的(de),可(kě)以方便的(de)添加任何想要的(de)功能。
但CMS你要想做(zuò)到這種穿插功能交集就比較麻煩了。

6 . 速度對比

用框架去(qù)開發,開發的(de)時候速度慢,但後續修改靈活,同時速度會很快,遇到問題可(kě)以馬上知道(dào)處在哪裏了,可(kě)謂是“一(yī)步到位、一(yī)針見血”。
用CMS去(qù)開發:開發的(de)時候速度快,但後續修改特别是添加功能模塊的(de)時候,就不夠靈活,會造成速度很慢,甚至不大可(kě)能實現。
打個比方:你用框架開發的(de)項目,開發的(de)時候可(kě)能需要2個月,但你後續升級項目,添加個什麽功能可(kě)能隻要1個星期。
而你用CMS去(qù)開發,開發項目上線可(kě)能隻要3個星期,但是你升級功能、添加新功能模塊、可(kě)能也要3個星期甚至更多,還有可(kě)能實現不了,
或者強加進去(qù)會造成該模塊性能甚至整個系統的(de)性能大大降低(dī)。而且每次升級都是這樣。

所以,該如(rú)何選擇,你應該清楚了吧(ba):如(rú)果想做(zuò)一(yī)個長(cháng)久更新的(de)項目,那使用框架去(qù)開發是最好的(de)選擇


PHP開發框架和(hé)CMS系統平台;

開發框架
WACT http://wact.sourceforge.net/
老牌的(de)PHP編程框架,實現了很多企業級的(de)開發模式

Horde http://www.horde.org/horde/
提供了一(yī)些常用類庫,可(kě)以滿足參數處理(lǐ)、數據壓縮、浏覽器檢測、鏈接跟蹤以及 MIME。需要PEAR類庫的(de)支持,提供了API參考。

Seagull http://seagull.phpkitchen.com/ 推薦
一(yī)個面向對象的(de)PHP開發框架,使用了Pear類庫,其主要特性有:運用組件方式、簡化數據訪問、錯誤處理(lǐ)機制和(hé)權限認證管理(lǐ)等。

studs http://mojavelinux.com/projects/studs/  推薦
Jakarta Struts結構移植過來的(de)PHP開發框架,使用面向對象的(de)開發結構和(hé)API,模拟了一(yī)個HTTP Servlet容器
和(hé)使用了PHP服務頁面引擎技術

InterJinn http://www.interjinn.com/
有很多擴展模塊提供下載,可(kě)惜配置文件使用的(de)是inc格式

Php.MVC http://www.phpmvc.net/
知名的(de)PHP開發框架 ,基于Java的(de)Struts

Phrame http://phrame.sourceforge.net/
雖然不大,但用的(de)很多,也是基于Struts思想

Ambivalence http://amb.sourceforge.net/
基于Maverick思想實現的(de)PHP開發框架

binarycloud http://www.binarycloud.com/
使用了Smarty模闆引擎,文檔很完善

Prado http://www.xisc.com/
Zend獲獎作品,基于事件驅動的(de)PHP開發框架

rwfphp http://www.rwfphp.org/
面向對象和(hé)事件驅動的(de)php開發框架

Krysalis http://www.kompletecms.com/
把XML文檔轉換為(wèi)XHTML文檔的(de)PHP系統

FastFrame  http://codejanitor.com/wp/apps/fastframe/
可(kě)以快速地(dì)實現表單提交

Blueshoes http://www.blueshoes.net/ 推薦
比較先進的(de)一(yī)個framework,提供了很多GUI組件

下面這些我也沒有詳細看
Cgiapp http://weierophinney.net/matthew/download
Fuselogic  http://www.haltebis.com/index/wakka/main/FuseLogic
Copix http://copix.aston.fr/
logicreate http://www.logicreate.com/
booby http://www.nauta.be/booby/

主要的(de)CMS系統
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各種主流框架的(de)優缺點分析;

ThinkPHP(FCS)是一(yī)個輕量級的(de)中型框架,是從Java的(de)Struts結構移植過來的(de)中文PHP開發框架。它使用面向對象的(de)開發結構和(hé)MVC模式,并且模拟實現了Struts的(de)标簽庫,各方面都比較人性化,熟悉J2EE的(de)開發人員相對比較容易上手,适合php框架初學(xué)者。 ThinkPHP的(de)宗旨是簡化開發、提高(gāo)效率、易于擴展,其在對數據庫的(de)支持方面已經包括MySQL、MSSQL、Sqlite、PgSQL、 Oracle,以及PDO的(de)支持。ThinkPHP有着豐富的(de)文檔和(hé)示例,框架的(de)兼容性較強,但是其功能有限,因此更适合用于中小項目的(de)開發。

優點

1.易于上手,有豐富的(de)中文文檔;

2.框架的(de)兼容性較強,PHP4和(hé)PHP5完全兼容、完全支持UTF8等。

3. 适合用于中小項目的(de)開發

缺點

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

2.目錄結構混亂,需要花時間整理(lǐ);

3.上手容易,但是深入學(xué)習較難。


Yii

Yii 是一(yī)個基于組件的(de)高(gāo)性能php框架,用于開發大型Web應用。Yii采用嚴格的(de)OOP編寫,并有着完善的(de)庫引用以及全面的(de)教程。從 MVC,DAO/ActiveRecord,widgets,caching,等級式RBAC,Web服務,到主題化,I18N和(hé)L10N,Yii提供了 今日Web 2.0應用開發所需要的(de)幾乎一(yī)切功能。事實上,Yii是最有效率的(de)PHP框架之一(yī)。

優點

純OOP

用于大規模Web應用

模型使用方便

開發速度快,運行速度也快。性能優異且功能豐富

使用命令行工具。

缺點:

對Model層的(de)指導和(hé)考慮較少

文檔實例較少

英文太多

要求PHP技術精通,OOP編程要熟練!

View并不是理(lǐ)想view,理(lǐ)想中的(de)view可(kě)能隻是html代碼,不會涉及PHP代碼。


CodeIgniter

優點:

Code Igniter推崇“簡單就是美”這一(yī)原則。沒有花哨的(de)設計模式、沒有華麗的(de)對象結構,一(yī)切都是那麽簡單。幾行代碼就能開始運行,再加幾 行代碼就可(kě)以進行輸出。可(kě)謂是“大道(dào)至簡”的(de)典範。 配置簡單,全部的(de)配置使用PHP腳本來配置,執行效率高(gāo);具有基本的(de)路由功能,能夠進行一(yī)定程度的(de)路 由;具有初步的(de)Layout功能,能夠制作一(yī)定程度的(de)界面外觀;數據庫層封裝的(de)不錯,具有基本的(de)MVC功能. 快速簡潔,代碼不多,執行性能高(gāo),框架簡 單,容易上手,學(xué)習成本低(dī),文檔詳細;自(zì)帶了很多簡單好用的(de)library,框架适合小型應用.

缺點:

本身的(de)實現不太理(lǐ)想。內(nèi)部結構過于混亂,雖然簡單易用,但缺乏擴展能力。 把Model層簡單的(de)理(lǐ)解為(wèi)數據庫操作. 框架略顯簡單,隻能夠滿足小型應用,略微不太能夠滿足中型應用需要.

評價:

總體來說,拿CodeIgniter來完成簡單快速的(de)應用還是值得,同時能夠構造一(yī)定程度的(de)layout,便于模闆的(de)複用,數據操作層來說封裝的(de)不 錯,并且CodeIgniter沒有使用很多太複雜的(de)設計模式,執行性能和(hé)代碼可(kě)讀性上都不錯。至于附加的(de)library 也還不錯,簡潔高(gāo)效。

 
Lavarel 框架
優點
Laravel 的(de)設計思想是很先進的(de),非常适合應用各種開發模式TDD, DDD 和(hé)BDD,作為(wèi)一(yī)個框
架,它準備好了一(yī)切,composer 是個php 的(de)未來,沒有composer,PHP 肯定要走向沒落。
laravel 最大的(de)特點和(hé)優秀之處就是集合了php 比較新的(de)特性,以及各種各樣的(de)設計模式,
Ioc 容器,依賴注入等。
缺點
基于組件式的(de)框架,所以比較臃腫.

責任編輯:中山網站建設
 【網訊網絡】國(guó)家高(gāo)新技術企業》十年(nián)專注軟件開發,網站建設,網頁設計,APP開發,小程序,微信公衆号開發,定制各類企業管理(lǐ)軟件(OA、CRM、ERP、訂單管理(lǐ)系統、進銷存管理(lǐ)軟件等)!服務熱線:0760-88610046、13924923903,http://www.wansion.net

您的(de)項目需求咨詢熱線:0760-88610046(國(guó)家高(gāo)新技術企業)

*請認真填寫需求,我們會在24小時內(nèi)與您取得聯系。