个人观点,说一下对 PHPCMS 的网站架构的看法
PHPCMS应该是国内第一家用MVC架构来写开源PHP产品的,我第一次工作上接触到PHPCMS是在两年前,那个时候对MVC还是不理解,然后因为工作需要,需要修改一下PHPCMS的源码。拿到代码后,我一开始还本着一种从PHPCMS入手来理解MVC模式,可研究了半天,心里一直想着这就是人人称赞的MVC架构吗?怎么而看都感觉不出哪里的优势,却让人很容易联想到discuz的架构。
(截图:phpcms的源码,来自文件D:\www\phpcms\phpcms\modules\content\content.php)
今天重新拿到PHPCMS的代码,重新看了下。
在自己理解了MVC,并且看过大部分的人气比较高的MVC框架,国内的ThinkPHP、国外的symfony2 laravel以及yii之后再来看PHPCMS,再来评价下PHPCMS:
1)结构混乱,命名没有任何规则,比如前台可以访问的加action前缀之类的。
2)有必要在开头第一段写上判断吗?为什么不直接用.htaccess禁止任何人访问 /phpcms这个目录?
3)phpsso_server 这个目录写法完全是抄袭discuz,拖油瓶。
4)phpcms一直宣称MVC,让人觉得技术上很厉害,但是实际上运行起来非常缓慢,卡得无比。
PHPCMS是用PHP4的架构思路来完成MVC模式。
今天重新看了PHPCMS的源码,才明白了自己当时为什么会有那种感受“这就是传说中人人称赞的MVC吗”,还对MVC产生排斥感。PHPCMS的写法完全是一种PHP4的写法,严格来说根本就不符合MVC规范,根本就不是MVC架构!最后要说的是,用PHP4的思路架构写出PHPCMS这样一个系统来,比用MVC写出来累,且维护成本比流行MVC框架开发出来的程序高(时间精力上)。(by default7#zbphp.com)