Template($root = ".", $unknowns = "remove")
构造函数:root为存放模版文件的目录,默认为根目录
unknowns为对未知变量的处理方法,remove为删除模版中未知变量,keep为保留模版中的未知变量,comment为把未知变量转换为HTML注释,默认为remove。
set_root($root)
效验所给参数root是否为目录,如果是则把该目录设置为摸版文件放置的目录。
set_unknowns($unknowns = "keep")
设置对未知变量的处理方式
set_file($handle, $filename = "")
为每个模版文件定义初始化一个变量,在以后的处理中用该变量代替该模版文件。
函数调用参数可以为成对的handle/filename或是由下标为handle值为filename的数组
set_block($parent, $handle, $name = "")
参数parent中包含了由参数handle的值命名的块,该函数将该块删除并用参数name中的值生成新的模版块变量代替,同时设置handle只包含原块中的模版变量,如果name变量省略则认为该块和handle相同。
例:
在box模版中包含row块:
<!-- start box.ihtml -->
<table border=1 bgcolor="#cccccc" cellpadding=4 cellspacing=0>
<tr>
<td colspan=2><b>{TITLE}</b></td>
</tr>
<!-- BEGIN row -->
<tr>
<td>{NUM}</td>
<td>{BIGNUM}</td>
</tr>
<!-- END row -->
</table>
<!-- end box.ihtml -->
执行 $t->set_block("box", "row", "rows")后box变为:
<!-- start box.ihtml -->
<table border=1 bgcolor="#cccccc" cellpadding=4 cellspacing=0>
<tr>
<td colspan=2><b>{TITLE}</b></td>
</tr>
{rows}
</table>
<!-- end box.ihtml -->
row变为:{NUM}
{BIGNUM}
set_var($varname, $value = "")
设置模版变量的值,生成以模版变量名为键的数组,参数可以是成对的模版变量名+值对或是下标为$varname的数组
subst($handle)
模版变量置换函数,参数handle为包含要置换模版的句柄。函数总是先尝试加载handle表示的模版文件,在已经加载的情况下进行handle所包含的模版变量的置换。
psubst($handle)
调用subst函数并打印出结果
parse($target, $handle, $append = false)
该函数调用subst函数对handle模版句柄中的全部变量进行置换,并保存或添加到以target为句柄的模版变量中,参数append控制是仅保存还是添加到target中
pparse($target, $handle, $append = false)
调用parse函数并打印出结果。
get_vars()
返回所有定义了的模版句柄变量和值,实际上是遍历类的成员变量varkeys,varvals这两个数组最后返回以varkeys的值为键,varvals的值为值的数组
get_var($varname)
读取以varname为名的模版变量,参数varname可以为数组,则返回的是数字索引的模版变量数组
get_undefined($handle)
返回handle模版中没有被处理的模版变量
finish($str)
根据成员变量unknowns对传入的字符串中的未处理变量进行处理,生成输出前的可选项。
p($varname)
打印调用finish函数后的字符串
get($varname)
返回经调用finish()函数处理的由get_var($varname)取得的模版字符串
haltmsg($msg)
打印出错信息
Internal instance methods//内部方法
filename($filename)
返回模版文件filename的绝对路径,并检查文件是否存在。
varname($varname)
loadfile($handle)
装载模版文件,如handle为句柄的模版变量没有被设置则其所在的文件将被加载,同时设置该模版变量。
halt($msg)
发生错误时停止运行,显示出错信息。