知识专栏
多方位、多角度、深度解读您所关心的问题

从接触互联网使用过的,并且做过二次开发的CMS系统和建站程序,有PHPCMS、元指令cms、帝国CMS、dedeCMS、phpok、phpmywind、aspcms、易企cms、ecshop、cmseasy、wordpress等。

这些也基本上是大家现在用的比较多的,其中元指令cms、PHPCMS、dedecms这三个是最为熟悉的,二次开发最多的,而帝国CMS也只是因为有些客户要做修改调整,所以才用到。对比发现PHPCMS、元指令cms、帝国CMS在很多设计思路上比较相近,但似乎又是不同的风格,觉得比较典型,所以以这三款CMS来作对比分析。

一、从二次开发的角度来讲

(1)phpcms

PHPCMS很灵活,想怎么改就可以怎么改,想到即可以做到。在我看来PHPCMS代表了一种极端,即如果考虑二次开发,那PHPCMS是不错的选择。

PHPCMS中想实现任何数据的读取只要写一条SQL,然后面模板中GET标签调用下就行了。甚至,只需要在头部引用common.php文件,调用模板引用函数引用模板,然后建一个同名的HTML文件作为模板,即可在PHPCMS的基础上实现很多想要的功能。

(2)元指令cms

元指令cms二次开发是非常方便的,代码清晰,入门简单。开发者不用去修改系统核心代码,只需要以新建控制器、新建模型的方式做新增功能或者功能变更。元指令cms是采用继承式控制器开发,这样可以避免不变更系统目录的情况下,将业务逻辑代码写到模块本身的控制器之中,这样不会影响核心系统升级。

(3)帝国cms

帝国CMS,虽然官方的宣传语也是想到即可做到,但从我在对帝国CMS作一些简单功能需求的修改及插件开发来看,帝国CMS离想到即可做到太远,限制在帝国的开发思路之下,有些功能即使是很小的功能,也需要对帝国的核心程序大动干戈。

二、从标签调用的角度来讲

(1)phpcms

PHPCMS中的标签都是以程序员的思维来实现,首页、列表页的标签TAG标签和GET标签实际都是生成SQL语句,解析成函数执行;内容页的标签实现是变量,根据字段类型处理成干干净净的数据,放在变量中,然后在内容页模板中直接使用这些变量,逻辑判断也好,进一步函数处理也好,想怎么处理就怎么处理,符合程序员的思维。

(2)元指令cms

元指令cms中的标签比phpcms的还要简单,而且不论是各种复杂自定义字段的调用,还是各种功能的组合调用,都非常简便,只需要写一段简单的调用代码即可调用出来。并且和phpcms一样,不论是变量,还是逻辑判断也好,进一步函数处理也好,想怎么处理就怎么处理,符合技术人员的编程思维。

(3)帝国cms

帝国CMS中的标签和动易(ASP类的CMS)的标签处理思维极像,这个标签是代表什么的,然后程序处理好后,直接整块替换。

缺点是这样的标签只算标签,不是干净的数据,处理起来缺乏个性化,虽然帝国CMS模板也支持PHP,便是由于他的模板生成方式不是先解析变量成PHP,再处理,而是一边处理好标签的数据,生成时替换,所以限制也很明显。

赞一下
--
踩一脚
--

您已成功复制微信号

leishi010

打开微信添加好友?

确定