010-64928252 400-6446-365

企业网站建设的框架和CMS的区别

2019-05-03

什么是CMS和框架的区别,
这个其实很重要,应该全面而清晰的认识。

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

2 . 知识难度
网站建设的框架需要的知识含金量比较高,对面向对象编程思想要深入理解,也要深刻懂MVC原理,单入口原理,标签解析引擎原理,方可以灵活使用框架去开发;
所以它是适应PHP基础比较全面的人;
而CMS不需要那么高深的知识,你稍微懂PHP一些语法,基础东西,就可以依葫芦画瓢的使用CMS开发出一个简单的项目,而且速度还比较快(但是维护起来会头痛)。
CMS对PHP入门级的人是最爱。

3 . 应用范畴

CMS的应用范围有局限,要选对,否则后患无穷。如:某类CMS只适合开发一类项目,选错了可能要重新开发。
比如PHPCMS适合开发文章类型的管理系统,Ecshop适合开发商城类型的项目,Discuz适合开发论坛类型的项目;
但是你如果要用Ecshop来开发论坛,就需要改的地方太多了,那就会走很多弯路....
而框架,因为属于更底层的东西,所以它可以用来开发任何类型的项目。
另外,框架还可以开发CMS出来,但反过来,CMS就不能用来开发框架(会造成性能太低)。


4 . 开发特点

在框架中,你可能看不到一个具体的控制器子类文件,所以基于框架的开发,首先要你自己来写控制器文件,还要安排在什么位置写,
这些都有框架自己的规矩,虽然也可以灵活的修改文件夹的位置,但你要麻烦的去寻找为什么。
而CMS等开源系统,这些文件都是帮你写好了的,位置也会帮你安排好,你在那些现成的文件上修修改改基本上就可以了。你会少很多事情。


5 . 灵活对比

用框架去开发,你可以随意修改你的项目模块架构,可以随意添加你想要的功能,如:你想在文章系统中添加个旅游模块也可以;
实例:“PHP葵花宝典”项目(www.phpkhbd.com)就是用框架开发出来的,可以方便的添加任何想要的功能。
但CMS你要想做到这种穿插功能交集就比较麻烦了。

6 . 速度对比

用框架去开发,开发的时候速度慢,但后续修改灵活,同时速度会很快,遇到问题可以马上知道处在哪里了,可谓是“一步到位、一针见血”。
用CMS去开发:开发的时候速度快,但后续修改特别是添加功能模块的时候,就不够灵活,会造成速度很慢,甚至不大可能实现。
打个比方:你用框架开发的项目,开发的时候可能需要2个月,但你后续升级项目,添加个什么功能可能只要1个星期。
而你用CMS去开发,开发项目上线可能只要3个星期,但是你升级功能、添加新功能模块、可能也要3个星期甚至更多,还有可能实现不了,
或者强加进去会造成该模块性能甚至整个系统的性能大大降低。而且每次升级都是这样。

所以,该如何选择,你应该清楚了吧:如果想做一个长久更新的项目,那使用框架去开发是最好的选择



PHP开发框架和CMS系统平台

开发框架
WACT http://wact.sourceforge.net/
老牌的PHP编程框架,实现了很多企业级的开发模式

Horde http://www.horde.org/horde/
提供了一些常用类库,可以满足参数处理、数据压缩、浏览器检测、链接跟踪以及 MIME。需要PEAR类库的支持,提供了API参考。

Seagull http://seagull.phpkitchen.com/ 推荐
一个面向对象的PHP开发框架,使用了Pear类库,其主要特性有:运用组件方式、简化数据访问、错误处理机制和权限认证管理等。

studs http://mojavelinux.com/projects/studs/  推荐
Jakarta Struts结构移植过来的PHP开发框架,使用面向对象的开发结构和API,模拟了一个HTTP Servlet容器
和使用了PHP服务页面引擎技术

InterJinn http://www.interjinn.com/
有很多扩展模块提供下载,可惜配置文件使用的是inc格式

Php.MVC http://www.phpmvc.net/
知名的PHP开发框架 ,基于Java的Struts

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

Ambivalence http://amb.sourceforge.net/
基于Maverick思想实现的PHP开发框架

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

Prado http://www.xisc.com/
Zend获奖作品,基于事件驱动的PHP开发框架

rwfphp http://www.rwfphp.org/
面向对象和事件驱动的php开发框架

Krysalis http://www.kompletecms.com/
把XML文档转换为XHTML文档的PHP系统

FastFrame  http://codejanitor.com/wp/apps/fastframe/
可以快速地实现表单提交

Blueshoes http://www.blueshoes.net/ 推荐
比较先进的一个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/

主要的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各种主流框架的优缺点分析;

ThinkPHP(FCS)是一个轻量级的中型框架,是从Java的Struts结构移植过来的中文PHP开发框架。它使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,各方面都比较人性化,熟悉J2EE的开发人员相对比较容易上手,适合php框架初学者。 ThinkPHP的宗旨是简化开发、提高效率、易于扩展,其在对数据库的支持方面已经包括MySQL、MSSQL、Sqlite、PgSQL、 Oracle,以及PDO的支持。ThinkPHP有着丰富的文档和示例,框架的兼容性较强,但是其功能有限,因此更适合用于中小项目的开发。

优点

1.易于上手,有丰富的中文文档;

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

3. 适合用于中小项目的开发

缺点

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

2.目录结构混乱,需要花时间整理;

3.上手容易,但是深入学习较难。


Yii

Yii 是一个基于组件的高性能php框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了 今日Web 2.0应用开发所需要的几乎一切功能。事实上,Yii是最有效率的PHP框架之一。

优点

纯OOP

用于大规模Web应用

模型使用方便

开发速度快,运行速度也快。性能优异且功能丰富

使用命令行工具。

缺点:

对Model层的指导和考虑较少

文档实例较少

英文太多

要求PHP技术精通,OOP编程要熟练!

View并不是理想view,理想中的view可能只是html代码,不会涉及PHP代码。


CodeIgniter

优点:

Code Igniter推崇“简单就是美”这一原则。没有花哨的设计模式、没有华丽的对象结构,一切都是那么简单。几行代码就能开始运行,再加几 行代码就可以进行输出。可谓是“大道至简”的典范。 配置简单,全部的配置使用PHP脚本来配置,执行效率高;具有基本的路由功能,能够进行一定程度的路 由;具有初步的Layout功能,能够制作一定程度的界面外观;数据库层封装的不错,具有基本的MVC功能. 快速简洁,代码不多,执行性能高,框架简 单,容易上手,学习成本低,文档详细;自带了很多简单好用的library,框架适合小型应用.

缺点:

本身的实现不太理想。内部结构过于混乱,虽然简单易用,但缺乏扩展能力。 把Model层简单的理解为数据库操作. 框架略显简单,只能够满足小型应用,略微不太能够满足中型应用需要.

评价:

总体来说,拿CodeIgniter来完成简单快速的应用还是值得,同时能够构造一定程度的layout,便于模板的复用,数据操作层来说封装的不 错,并且CodeIgniter没有使用很多太复杂的设计模式,执行性能和代码可读性上都不错。至于附加的library 也还不错,简洁高效。

 
Lavarel 框架
优点
Laravel 的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD 和BDD,作为一个框
架,它准备好了一切,composer 是个php 的未来,没有composer,PHP 肯定要走向没落。
laravel 最大的特点和优秀之处就是集合了php 比较新的特性,以及各种各样的设计模式,
Ioc 容器,依赖注入等。
缺点
基于组件式的框架,所以比较臃肿


TAG标签耗时:0.011844873428345 秒
010-64928252/400-6446-365 我现在就想找顾问聊聊
让决策变的简单
好的开始是成功的一半
您需要一位互联网
顾问提供专业咨询
AI人工智能 · VR · AR · 智慧博物馆 · 智慧公园 · 景区 · 文创 · 动画
高端网站建设 · 小程序 · APP · 微信 · H5 · 游戏 · 电商 · 年度运营