介紹PHP開(kāi)發框架和CMS系統平台

2019-09-01

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


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

1 . 各自代表
框架代表:ThinkPHP(簡稱TP,以及它的最新版TP5),Laravel,YII,CI,......
CMS:Content Management System:内容管理系統;代表有:PHPCMS,dedecms,phpMyWind,帝國CMS,Ecshop,ECMall,Discuz,PHPWind

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

3 . 應用範疇

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


4 . 開(kāi)發特點

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


5 . 靈活對比

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

6 . 速度對比

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

所以,該如何選擇,你應該清楚了吧:如果想做一(yī)個長久更新的項目,那使用框架去(qù)開(kāi)發是最好的選擇


PHP開(kāi)發框架和CMS系統平台;

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

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

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

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

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

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

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

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

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

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

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

Krysalis http://www.kompletecms.com/
把XML文檔轉換爲XHTML文檔的PHP系統

FastFrame  http://codejanitor.com/wp/apps/fastframe/
可以快速地實現表單提交

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

下(xià)面這些我(wǒ)也沒有詳細看
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/

主要的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各種主流框架的優缺點分(fēn)析;

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

優點

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

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

3. 适合用于中(zhōng)小(xiǎo)項目的開(kāi)發

缺點

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

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

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


Yii

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

優點

純OOP

用于大(dà)規模Web應用

模型使用方便

開(kāi)發速度快,運行速度也快。性能優異且功能豐富

使用命令行工(gōng)具。

缺點:

對Model層的指導和考慮較少

文檔實例較少

英文太多

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

View并不是理想view,理想中(zhōng)的view可能隻是html代碼,不會涉及PHP代碼。


CodeIgniter

優點:

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

缺點:

本身的實現不太理想。内部結構過于混亂,雖然簡單易用,但缺乏擴展能力。 把Model層簡單的理解爲數據庫操作. 框架略顯簡單,隻能夠滿足小(xiǎo)型應用,略微不太能夠滿足中(zhōng)型應用需要.

評價:

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

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

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

上一(yī)篇:iOS 響應式架構設計方案

下(xià)一(yī)篇:如何選擇App開(kāi)發框架

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

*請認真填寫需求,我(wǒ)們會在24小(xiǎo)時内與您取得聯系。