搜查的PHPCMS,织梦DEDECMS 部分对比分析
对于初学者来说,我想会有相对的了解和认识,自然也有助于今后前端面试的一些小细节!
当下学的自然是phpcms
phpcms优点:
1. 模块化安装,非常适合安装,拆卸非常方便的。
2. 灵活的标签语法,非常强大,漏洞较少。
3. 缓存做的很优秀。几乎支持目前主流的几大缓存系统解决方案,
file缓存,eaccelerator缓存,memcache缓存,shmop缓存等
4. 安全性也不错的。后台为了防范入侵,采用了cookie和session同时存在验证技术,
才可以安全进入后台。
多次登录失败,开启验证码功能。防止机器人频繁猜口令。
5. 数据库。 在根目录下的include目录下,db_access.php db_mssql.php db_mysql.php 等,
就照着他的方法,在增加几个也没问题的。
6.兼容性。是在php4的基础上开发的,所以向下兼容性是不错的。
在include/global.func.php 这个文件可以看到很多 if(!function_exist()){ },
这些代码就是为了兼容php4相关函数。
当然有利就会有弊
phpcms缺点:
1. 后台对应的模块的功能列表url,从数据库中读取的,也即是,安装的时候,
将url写入数据库了。这个如果二次开发要修改的话,不是很方便的,最好是写到文件中,
读取文件内容,方便开发者开发,而且也更容易维护,如果是出于安全考虑的话,不妨加下密也可以的。
2. 分部式。 后台的某些功能模块,还是要调用各个应用模块的admin部分,相关*.inc.php文件.
如果我要把其中某个模块或应用独立出去部署到其他的服务器上,就不方便了。
3.数据库设计问题,后台开设模型时,表的引擎只能是myIsam,而不能选择其他的,
字段的类型,比如要开设一个字段为number,类型为int,但是在新增加的模型表中还是以varchar出现,
而不是int,长度是默认的255.modelfiled表,才发现该系统是将类型写到该表中了。
4.加密/解密程序。目前已经在想相关安全网站已被爆以破解。这也不是什么新闻了。
在开发中,关注下相关安全厂商发布的漏洞。
5. 数据库抽象层。 就以上提到的几个数据库文件。
db_mssql.php db_mysql.php db_access.php 等对于数据库分布式,应该没问题的。
数据库抽象层处理数据比较快,且快平台更容易且更容易维护,这个是需要考虑的。
Dedecms功能实用,模板功能使用简单。但是漏洞较多
DEDE的优势:开源免费是DEDE的最大优势,可以集合群智群力来完成商业CMS不可能达到开发速度,
因为它的开发力量来自四面八方,懂程序的就可以。
1、 易用性。
在使用PHPCMS和DEDECMS的时候,易用性织梦要好很多,并且很多的功能很容易上手,织梦在一些细节方面比PHPCMS要注意得多,比如说, 在新建一个频道的时候,可以选择不同的模版及生成的位置。织梦只要你设置好目录的名称,比如目录是yd。通过设置,你可以把你的文件都放在该目录 下,并且自动绑定域名下的URL为xxx.com/yd/ 但是PHPCMS有一个选择,你选择生成静态文件的时候,还要你填写一个URL地址,如果你太粗心的话,很容易没有注意这个细节,我用PHPCMS的时 候,就为了这个细节,花了我半个多小时,后来问人才知道。
总结:PHPCMS在细节的一些处理不如DEDECMS。很多小小的功能要特别注意。
所以新人站长选择PHPCMS的时候,最好先抽空大致看下帮助文档。
2、 程序的代码简洁性。
此点主要是考虑前台页面的表现代表,不包括网站后台程序代码。因为本人不懂PHP,所以,不能做评价,特此注明。
个人觉得PHPCMS比DEDECMS最优秀的就是这块了,DEDECMS进行了封装了很多的代码,很多的标签拿来就只管用,但是那些标签代码里有很多的不需要的标签写了一大堆。对于一个喜欢在前台页面代码纠结我来说,织梦这块做得比PHPCMS要缺少一些。
另外PHPCMS的前台数据调用的方式很有意思,除了一些基本的标签之外,则可以完全通过GET的模式,自己写SQL语句来调取数据。这一点其实也是 让人很纠结的。因为不是每个人都懂SQL语句,如果PHPCMS能做一个象DX的那样方便的SQL调取数据的界面化的功能,那就太好了,再加上配合PHPCMS前台显示数据的方式,那么前台代码可以做到最大的优化了。
总结:对于喜欢在前台模版HTML简洁化的纠结的,PHPCMS相对来说比DEDECMS有优势。
当然DEDECMS也可能做到,但是需要一定的功底去修改相关的标签。总之我觉得挺为难的。因为我不会。这点可能有点片面了,但作参考。
3、 功能
功能这块,两个CMS差不多。大同小异的。
不过PHPCMS的BUG比织梦要多。由于我只用到了两个CMS的资讯模块,所以不太好做。此外,PHPCMS的全局标签似乎很少。而DEDECMS 的全局标签做到很优秀。比如我们要实现这样的标题 xxxxxxxxxxx_xxxxx网,织梦只要用标题标签_站点名称,就可以了。好象PHPCMS还有一段代码,对于我不懂程序的人可苦了,到最后,我 还是不会修改,最后只好放弃了。
总结:差不多,都可以选择。
查找了这些对比,我想后期有想冲前端去的朋友,可以更好的利用一下,有助面试 ,后期也会继续查找总结更新