PHPCMS和帝国CMS二次开发优缺点分析及站长如何适合自己的CMS 推荐

2019-01-27 00:39:08王振洲


我看了下,帝国论坛也有非常多的朋友有这个需求,但基本没有看到有很好的解决。然后我看了下帝国的标签的代码,他内置其实有一个内容页分页下拉导航标签。本来一般的程序的思维是实现数据和模板的分离,把数据处理好,其它的表现形式(是下拉列表,还是普通文字列表)这个交由模板来处理,而帝国中确全是由核心函数来处理的,在functions.php和t_functions.php中文件中单独写函数来处理这个标签,并且把HTML都封的很好了,呈现给大家。我为了实现内容页分页标题导航列表,仿照他的标签的实现方式,修改这两个核心文件才能实现。而事实上,其它CMS中,只要先PHP文件中分析出文章的分页标题,记录成数组变量,然后在模板中用循环标签循环一下就OK了,想怎么展现就怎么展现。(详见:http://bbs.chinaz.com/CMS/thread-2020475-1-1.html)。

帝国CMS和PHPCMS同样都有自定义模型的功能,在字段自定义方面,帝国做的更人性化些,更适合新手朋友使用,而PHPCMS功能上是没问题的,有些设计上合理性差些,如定义字段只能存在副表(PCV9有了改进)。帝国CMS中每个模型都是单独的数据主表+副表,不同模型间,数据ID无关联,这样的问题是不同的模型中有相同的ID的文章,涉及到全站数据操作的时候很纠结,非得一个一个判断模型,落叶今天在设计一个帝国CMS插件时,深深的体会到了这样的设计的杯具。PHPCMS所有模型共用一个主表,副表各自使用,即所有文章不管什么模型的标题、摘要等信息都存放在统一的表中,这样全站进行数据调用都很方便,这样的缺点也很明显,自定义字段只能放在副表中,如果自定义的字段想作为数据调用的条件或者搜索条件,那就很杯具了,非得两表联合查询,和把整篇文章的数据读出来,基本没啥区别。

简言之,以这样不太高的PHP水平,可以使用PHPCMS毫不费力的设计出各种模型,包括房产模型、问答模型、汽车模型等,只要了解模型的字段有哪些,流程怎样,后台建下模型,然后把list.php和show.php复制一份,作些个性修改,然后上传下HTML文件模板即可,要伪静态就伪静态,要生成静态就生成静态。而如果以帝国作二次开发,那么也可以很方便在后台自定义模型建表,但是数据流程处理方面灵活性就缺很多了,在使用他的数据操作类,操作数据后,要熟悉他的模板处理方面,读取模板,然后单纯的写函数来替换变量标签,如果要生成静态,他原来的内容页静态生成函数还没法通用,需要自己单纯来写一个静态生成类。一句话,很痛苦!还不如自己全写PHP了事。