最近了解了一些php5的东西,发现其类的功能比起4还是要强一些,虽说比不上C++,但对于web开发来说,其实用性还是不错的
于是乎花了大半天时间封装了一个模板类,用的是php5的写法,标不标准说不上,但试了下,效果还是不错的,本文最后提供了此类的源程序及示例下载。
本模板引擎的特点在于:
1.简单
基于php5的类的封装使得其使用极其简单,最简单的使用仅需四行代码即可完成.
2.快速
本模板引擎是一款编译型模板引擎,其模板文件并不直接参与程序执行,
而是由引擎生成的编译后文件参与程序的执行,在运行期间,模板文件不会多次编译,
使得运行十分快速,与直接包含文件相差无几。
3.小巧
相对于smarty来说,本引擎实在是"小不点"。代码总行数不超过300行,不到8K,
仅有一个文件,使得包含十分容易,且便于移植。
4.安全
编译后的文件会附加常量检测,对变量输出作了基本判断。
对于文件及目录的创建也作了充分的判断,并在出错时会给出基本的处理方案,
便于解决问题。

示例
程序文件:test.php
CODE:模板文件:test.htm
<?php
define("TPL_INCLUDE", 1);
include('./lib/template.class.php');
$time_start = getmicrotime();
new Template();// 实例化,因为并不需要实例句柄,故不用赋值给变量
// 以下三行可选,用于自定义,如果不实例化,则以下三行必须全部调用
//Template::SetCplDir("./compile");// 自定义编译目录
//Template::setTplDir("./templates");// 自定义模板目录
//Template::SetCplFilePostfix("php");// 自定义编译文件后缀
$hello = "test";
$list = array();
for($i=0; $i<10; $i++)
{
$list[$i] = $i;
}
function myfunc()
{
Return "自定义函数测试";
}
include Template::Tpl("test.htm");
?>
CODE:输出结果
<html>
<head>
<title>测试</title>
</head>
常量输出:{TPL_INCLUDE}
变量输出:{$hello}或<!-- {$hello} -->
循环:
{loop $list $k $v}
{if $k>0 && $k%2==0}
{/if}{$v}
{/loop}
系统函数:{date("Y-m-d H:i:s")}
自定义函数:{myfunc("hello")}
</body>
</html>
CODE:模板类1.02版下载:PHP5_templates.rar
常量输出:1
变量输出:test或test
循环:
01
23
45
67
89
系统函数:2007-12-17 16:55:56
自定义函数:自定义函数测试
[1] [2]
