一/090
CMS Made Simple
Packt Publishing 刚刚宣布2008届最佳开源CMS大赛各奖项下的决赛名单。去年,Drupal是综合大奖得主,将06年冠军 Joomla!推到第二位。今年 Drupal 和 Joomla 均入选决赛名单,分属不同奖项。Packt 将于2008年10月31日开始公布最终获奖名单。
最佳PHP开源CMS决赛名单
- CMS Made Simple
- Drupal
- eZ Publish
- Joomla!
- XOOPS
简单看了看CMS Made Simple(官方简称为cmsms),写一点和drupal的对比,单纯从模块开发方面,模块为test。
首先,cmsms的模块组织方式为若干action和method开头的功能文件,其主要文件是test.module.php,其下可以放置lang目录,用来翻译模块中的字符串以及template目录,放置需要渲染的模板,其引擎是smarty。而数据库交互的操作则是放在Install和Uninstall这两个方法里面,数据库接口是Adodb,则此cms对开发者要求为php,smarty模板,adodb。drupal的模块组织方式为三个文件,info文件写入一些模块的简介(分组,版本,描述等),这些信息在cmsms中也是写入到特定方法中的。(比如GetName, GetFriendlyName等等),module文件写入具体功能,数据库交互的操作放在install文件中(包含了uninstall操作),数据库是自己的一个抽象层,方法比较多,使用方便,包括对分页,表格排序等等,都有很方便的接口。drupal开发需要开发者记忆很多钩子函数,而cmsms要记忆很多约定好的方法。
模板方面,drupal使用了page,node和comment以及box四个主要的模板文件,加上强大的模板覆写机制和template文件特性,用户可自定义其他模板文件。而cmsms使用smarty模板就很随便了,这点比较灵活,因为drupal的模板机制常常让对页面绚丽的用户头疼。加上smarty强大的函数功能,几乎可以做php能做到的任何事情。
drupal强大到不只是一个CMS,而是一个CMF了,可以成为一个很好的开发框架。整体代码结构为函数调用(钩子机制),而cmsms是一个简洁的CMS,轻便。整体代码结构为oop思想,不过php的oop速度在5后才有大大改善,虽然cmsms要求4.3以上版本,但5之前的速度我很怀疑。
从自己写纯功能的角度来看,还是drupal对自己比较适合,因为它是一个框架。