PHP模板引擎SMARTY

2019-04-07 19:26:43于丽



怎么样,是不是感觉几乎是一致的?下面是区块解析的例子,你也会发现同样的效果:


我们的测试目标和结果
结束了对PHPLIB Template和FastTemplate的了解,应该可以进入本文的正题了--在应用环境中当然应该 选择易于使用同时速度理想的部件构建系统,那么对于这样的两种类似技术,进行评测非常有必要。评测 应该是由两部分组成:技术的使用难度和速度的快慢程度--前者是评论的部分,而后者是测试的部分。对 于前者,我们主要针对两个类提供的API进行评论;对于后者,我们会让测试的数据来说话,当然这中间 免不了需要编写一些简单的测试代码。

回合一:技术的易用性
这一回合主要是探讨PHPLIB Template和FastTemplate提供的API的使用情况。应该说,前者提供的API 更符合PHP的一些常见编码惯例(特别是当你的项目中采用了PHPLIB的其他类时,这样的规范性会对整 个项目有好的影响);而后者的一些方法名总觉得有些别扭(希望你不要觉得这只是我的狭隘看法,比如 FastPrint()等等),同时方法的参数也不是非常"地道",这一点你也可以从刚才的代码看出来。

另外一点需要指出的是,对于模板区块的解析,FastTemplate直到最近的版本才开始支持。也就是说,如 果你采用了之前的版本,在处理诸如数据库中记录的输出等内容时,不得不把这块内容独立存储在某处, 然后在模板分析处理时附加上这个文件--真是一件让人难受的事情,尤其是对网页设计人员而言。

当然还有一点需要考察--那就是对于PHP版本的支持。PHPLIB产生在PHP3的时代,这一点和 FastTemplate差不多;但是根据我们的应用,PHPLIB在现在的PHP4环境下运行相当好,而 FastTemplate的网页上则显示了一些信息表明对于PHP4也许它还有一些BUG存在。

好了,讲了这么多(也许你会觉得都是FastTemplate的坏话),这个回合的胜利者很明显:PHPLIB Template,尤其是你同时在使用PHPLIB的其他类时,这样的技术易用性更加明显(你将不会对这些出自 同一个开发小组的API感到陌生)。

回合二:处理速度
也许这才是很多人最关注的部分--在这个回合中,我们会采用两种模板处理的方式:一种是常规的分析、 替换,另一种是对区块的解析、替换--同时这样的两种方式也是在实际系统中应用最多的:前者是一般的 页面处理,后者是关于数据库内容的输出处理。同时,由于两种模板类采用的模板文件的格式基本相同, 使得我们可以提供几乎一致的模板文件分别供两种模板解析,更增加了测试的可信度。

开展这样的速度测试之前会拟定一个测试方案,简单说来就是对于两种处理方式分别编写两个PHP测试页 面,同时有一个控制测试的页面多次调用这两个页面并记录时间供采集测试数据。(如果有兴趣你还可以 参考以下详细的测试方案,也许会对你深入了解这次测试有所帮助)
相关文章 大家在看