background image

PHP 技巧:详解 phplib 模板使用过程及运行原理

index.htm 文件内容:

以下为引用的内容:

<html>
<head>
<body>
<!-- BEGIN RowSort -->
{SortList}<br>
<!-- END RowSort -->
</body>
</head>
</html>
index.php 内容:
<?
$t->set_file ("Index", "index.htm");
$t->set_block("Index", "RowSort", "RowsSort");
..............................................
.................$list_sort...................
$t->set_var("SortList", $list_sort);
$t->parse("RowsSort", "RowSort", true);
..............................................
..............................................
$t->parse("OUT", "Index");
$t->p("OUT");
?>

详细分析过程:
一、$t->set_file ("Index", "index.htm"); $this->file[index] = index.htm
二、$t->set_block("Index", "RowSort", "RowsSort");
1、载入 index 文件 index.htm 内容并赋给变量$this->varvals[index]
2、$str = $this->varvals[index]获取模板文件内容
3、用 preg_match_all 函数来匹配模板文件中对应的 block(RowSort)里的内容,并存储
到$m[1][0]中
4、lock(RowSort)里的内容(包括头和尾)替换为{RowSort}
5 、 变 量 $this->varvals[RowSort] = $m[1][0] ,    $this->varkeys[RowSort] = /
{RowSort}/
6 、 变 量 $this->varvals[index] = $str( 内 容 已 发 生 改 变 , 见 第 4 步 )  ,    $this-
>varkeys[index] = /{index}/
三、$t->set_var("SortList", $list_sort);
设置$this->varvals[SortList] = $list_sort
设置$this->varkeys[SortList] = /{SortList}/