新作模板处理类

发表于:2007-07-14来源:作者:点击数: 标签:
pfcTemplate 主要特点 1. 高效率 因为程序中分析变量、区块时没有采用正规表达式去做,而采用 PHP 内置字符串 处理函数来做,所以效率可能会稍高于同类产品 2. 易用性 使用此类只需简单的 创建类实例 - 添加文件 - 设置变量/区块 - [如果有区块则解析] - 解
pfcTemplate 主要特点
1. 高效率
因为程序中分析变量、区块时没有采用正规表达式去做,而采用PHP内置字符串
处理函数来做,所以效率可能会稍高于同类产品

2. 易用性
使用此类只需简单的 创建类实例 -> 添加文件 -> 设置变量/区块 -> [如果有区块则解析]
-> 解析文件 就可以完成. 采用常用的命名方式, 提供通俗易懂的API接口方法.

3. 多级区块处理
通过程序的多级区块处理功能可以实现很多复杂的效果, 可以进行无限层次的套嵌(机器性能允许)

4. 可处理多种来源的模板
模板不一定要做成文件, 可以是来自数据库或其它来源.

$str = read_template_string();

$tpl->set_string('handle1', $str);

5. 变量可定制性

模板中的标识符是可以自行调整的.

如: 将简单变量的标识符定制为 "{/var/}", 只需如下调用:

$tpl->varBegin = '{/';
$tpl->varEnd = '/}';

将区块的定义设置成: "<!-- name -->content<!-- /name -->", 则只需:

$tpl->blockStartBegin = '<!-- ';
$tpl->blockStartEnd = ' -->';

$tpl->blockEndBegin = '<!-- /';
$tpl->blockEndEnd = ' -->';

这样使得本类可以兼容同类产品,如PHPLIB的template、FastTemplate、Smart等.


pfcTemplate说明

我没有在类中加入缓存的功能, 我认为 Smart的缓存实质上还是要用PHP解析的。对于更新快的网站,不适合用SMART

做是大家公认的。但对于更新要求不是很多的网站,用Smart 其实不如在程序中加入生成 html文件的功能。WEB服务器处理

HTML的速度是远比PHP快的。

如果你觉得在解析区块时要加上是否为最好一行的参数不方便, 可修改本类, 在输出时清除最后一个块定义。
但是这样做的结果会比现在的慢一点点。 看你项目的需要折衷吧!

原文转自:http://www.ltesting.net