CMS模板引擎系统的开发小结和未来发展的简单构思.doc

CMS模板引擎系统的开发小结和未来发展的简单构思.doc

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CMS模板引擎系统的开发小结和未来发展的简单构思

一 模板标签系统的本质  首先我想要说明的一点是,模板标签系统不仅是CMS的专利,在任何有前台显示需求的系统中,都可以看到类似的设计,比如论坛、OA、财务类软件等等。  在以上这些不同的系统中,模板和标签都被赋予了不同的名称,比如财务类软件里,自定义凭证输出页就具有可视化的界面编辑系统,用户可以自主定义各种表格形式,并通过添加查询标签来实现数据的循环输出,这实际上就是一种模板标签系统。  可以总结一下:通常意义上的模板标签系统,实质上就是一种对数据进行分类,归纳,并定义输出样式的过程。按照这个定义,我们可以找到很多类似模板标签系统的软件,比如EXCEL表格,行列的的显示样式就是模板,单元格的内容就是标签。 二 模板标签系统的分类  通常意义下,模板承载着定义页面架构的功能,而标签则负责显示数据。这也就是大家常说的数据与样式分离。当然,不同的系统分离度并不一样,根据分离度就我就可以简单的对模板标签系统进行分类了。   1 原始数据类,此类系统基本没有模板或标签的概念,所有的模板样式及数据查询均在程序中定义完成,最后通过字符拼接进行输出。优点是速度快,功能强(实际上是功能最强的,因为它的模板就是编程语言自己),缺点是改动困难,任何一个小小的修改都需要进行程序上的变动,此类软件完全没有通用性,只适合进行单独项目的快速开发。   2 混合查询类,此类系统开始出现模板和标签的概念,但模板只有简单的框架定义功能,标签则混合在程序中定义完成,这类系统的优点是开发快速,有一定的通用性,但是修改标签非常麻烦,且为了满足不同行业用户的各种个性化要求,需要开发者预制很多的标签在系统中,才能满足需求,动易1.X-6.X系列软件均采取的是此种架构。   3 模板至上类,此类系统以PHP平台下居多,模板的功能强大,几乎所有的查询都可以在模板中直接定义而来,同时在模板中还提供逻辑类标签。循环,判断,跳转等逻辑语句均在模板中由专用标签直接构造。此类系统优点是功能强大,有很好的通用性,用户进行个性化定制很容易。缺点是样式与数据分离依旧不够完美,由于在模板中直接进行数据查询和逻辑判断,所以无法有效的分离数据与样式,造成标签复用困难。此类系统的典型代表就是DEDE CMS中所使用的解析引擎。   4 绝对分离类,模板中定义样式,标签中查询数据,粗看之下似乎与类型1无甚分别,但是此类引擎实现了彻底的逻辑与呈现的分离。所有模板样式的定义及数据查询均不接触程序代码本身,用户在后台即可远程自行定义完成。而且由于模板和标签的高分离度,实现了标签的复用,节约了大量的重复开发时间。动易SF即为此类系统的典型代表。 三 动易模板标签系统的历程  动力1.X - 3.X时代,系统使用的是上面所说的第二类模板形式。模板是独立的系统,但标签混合在编程语言内,系统预制了所有需要的标签,调用方便,但是修改标签就必须进行程序代码的改变。  powereasy 5.x版本中,小弟开始推行一系列的技术实验,也就是后来的自定义动态标签系统。是针对动易模板标签系统的第一次变革,虽然不太完美,但有效的解决了SW系列一直缺乏足够自由的自定义样式效果的弱点。说到这里不得不提的是科讯这个系统,几年它来通过对动态自定义标签的抄袭和扩展,目前在功能上已经超越了SW系列,但是骨子里还是动易的这一套,并没有什么其他突破。  到了SiteFactory开始立项后,动易整体转入.NET平台进行开发,而这个平台强大的多数据处理能力造就了SF现在所采用的XML+XSLT形式的模板标签引擎,通过有效结合正则捕获与XML格式转换,SF的模板引擎在强大和容错这两方面都有一定的突破,既保留了XSLT的灵活性,又绕开了XSLT繁琐严格的错误机制,使得一般错误不会导致整个模板引擎崩溃。同时在模板中还保留了一部分逻辑标签。使得最终用户可以根据实际情况自由选择把样式定义在标签中,或者是定义在模板里。另外,这个称为Xpower的模板标签系统还具备非常强悍的可扩展性,用户可以任意扩展标签方法,只要C#做得到,Xpower就做得到,完全没有任何的限制。 四 未来的发展方向  第一阶段,标签标准化,数据标准化,在SF中,通过运用XML,XSLT技术已经基本实现。  第二阶段,标签实现跨平台,多引擎发展,标签的表面样式不变,内部可以用XSLT,也可以用PHP下的smarty之类的模板引擎进行解析。  第三阶段,鼓励并联合其他平台下的CMS系统通过标准方式使用SF标签,比如动易与帝国CMS的混合应用,通过简单加挂由动易提供的函数库,在帝国CMS的系统模板里引入SF标签后,也可以解析出需要的结果。  第四阶段,内容至上的阶段,标签的数据来源和组织方式的进一步扩展,不仅仅是站内的,而是全互联网的。技术开发此时应该退居幕后了,如何让标签成为一个万能的

文档评论(0)

kaiss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档