Php一些感悟

作为新手我一直不了解什么是CMS和框架的区别,刚好最近学习到了ThinkPHP,就找了这篇文章。很多人学了许久的PHP,但对于框架和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个星期甚至更多,还有可能实现不了,

或者强加进去会造成该模块性能甚至整个系统的性能大大降低。而且每次升级都是这样。

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

最后用一个比喻来总结:建房子

用框架去开发项目,相当于你会起房子;

但是你要做的事情要从这里开始做:你要先给房子打基脚(基脚要挖几米你要计算好)、房子有几根柱子撑起你要计算承受力,

每层楼盖几个房间你也要计算好,每间房间怎么布局也要你来做。这些都做好了,然后你才来安装窗户,粉刷墙壁,贴墙纸…

用CMS去开发项目,相当于你只会装修房子;

至于房子的基脚有多深,房子是几层楼,每层楼的房间格局、玻璃的安装窗口你都控制不了。

但是你要做的事情也很省事:你要做的事情就是在可以安装玻璃的地方安装什么牌子的玻璃(但是你不能修改该窗口是朝东开还是朝西开,因为这是建房子的人决定了的),

刷白色或者红色的墙壁、贴什么内容的墙纸(美女型或者森林型,由你定)…

这两种结果谁好谁不好,要看你的兴趣爱好了。如果你是个有个性的人,你可能就崇尚能建房子的能力,

如果你是比较懒惰的人,你可能崇尚那些只要装修的房子让你装修就进去住了。

特别说明的是:如果房子的创建有问题,比如你想把一层楼创建4个房间改成5个房间,那就只能是有创建房子能力的人重新改造房子了,简单的装修工人是没有权利的。

框架开发就是有改造房子的权利…

而你如果还是装修房子中更为简单的工作,比如只写模板,只套模板,那你就相当于连电脑桌都要老板准备好,

你只是在电脑桌上怎么摆放你的电脑、鼠标、键盘而已,那种“家具齐全、直接拎包入住的酒店”就是最好的代表…

作者:foreverlikui
来源:CSDN
原文:https://blog.csdn.net/foreverlikui/article/details/78217469
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/c2289206/article/details/83618331
今日推荐