t; 下面是一个列表 <UL> <!-- BEGIN list --> <li> 的成绩是 <!-- END list --> </UL> <!-- 这是页面脚部 --> <P>author © iwind </BODY> </HTML>
你会发现,所有的变量都没了,包括我们未赋值的,,.这是因为我们在创建对象时,第二个参数未设置,而自动采用了"remove" $tpl = new Template("template"); 和 $tpl = new Template("template", "remove"); 的效果是一样的.
如果我们想给这些变量也赋值,那么方法和单个模板里变量的分析方法是一样的. //读模板内容进变量 $tpl->set_file("main", "third.html"); $tpl->set_file("my_header", "header.html"); $tpl->set_file("my_footer", "footer.html");
//设置子模板header.html里的变量title的值 $tpl->set_var("title", "这个是网页标题");
//以下分析主模板里的块的内容 //设置块 $tpl->set_block("main", "list", "lists"); $array = array("张三" => 82, "李四" => 90, "王二" => 60, "麻子" => 77); foreach ($array as $username=>$score) { $tpl->set_var("username", $username); $tpl->set_var("score", $score); $tpl->parse("lists", "list", true); }
所有程序为 <?php //包含进模板类 template.inc require "inc/template.inc";
//创建一个实例 $tpl = new Template("template");
//将整个文件读进来 $tpl->set_file("main", "third.html"); $tpl->set_file("my_header", "header.html"); $tpl->set_file("my_footer", "footer.html");
//设置header.html里的变量title的值 $tpl->set_var("title", "这个是网页标题");
//设置块 $tpl->set_block("main", "list", "lists"); $array = array("张三" => 82, "李四" => 90, "王二" => 60, "麻子" => 77); foreach ($array as $username=>$score) { $tpl->set_var("username", $username); $tpl->set_var("score", $score); $tpl->parse("lists", "list", true); }
//执行my_header,my_footer里的模板变量替换,并把最终结果分别赋给主模板中的header,footer $tpl->parse("header", "my_header"); $tpl->parse("footer", "my_footer");
//完成主模板内变量的替换 $tpl->parse("mains", "main");
//输出 $tpl->p("mains");
?>
输出的结果为 <!-- 这是页面头部 --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> 这个是网页标题 </TITLE> </HEAD> <BODY> 下面是一个列表 <UL>
<li>张三 的成绩是 82 <li>李四 的成绩是 90 <li>王二 的成绩是 60 <li>麻子 的成绩是 77 </UL> <!-- 这是页面脚部 --> <P>author © iwind </BODY> </HTML>
一切都是我们所期望的.
在这个程序里,我们用 $tpl->set_block("main", " |