|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在学习PHP这六个月里,每看到一个优秀的php脚本,就会兴奋的手舞足蹈,嘴里还不停的说:太酷了,太酷了。呵呵,很幼稚吧,但这可能就是兴趣。 如今大局部模板类中都供应block功效,block用来处置不肯定个数的HTML 元素,当呈现多层不成定的元素,就会用到block的嵌套,关于block嵌套的用法,经由屡次测试仍是有需求注重的中央,上面用一个例子申明block嵌套的一种处置办法。
1、咱们先来看一下例子要到达的后果(图一):
2、模板文件test.htm
模板文件就是静态的页,可以用你喜好的网页编纂器编制他的外不雅
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无题目文档</title>
</head>
<body>
<table width="400" border="1" bordercolor="#000000">
<tr><td><div align="center">{myname}测试block</div></td></tr>
<tr><td>我的动植园:</td> </tr>
<!-- BEGIN animalList -->
<tr><td>{animal}</td></tr>
<!-- BEGIN plantList -->
<tr><td> {plant}</td></tr>
<!-- END plantList -->
<!-- END animalList -->
</table>
</body>
</html>
3、上面是php代码文件test.php
<?php
include_once("template.inc");
$t = new template(".");
$myname = "小猪噜噜";
/***************************************
animal数组作为第一层block中轮回数据,
plant数组作为第二层block中轮回数据,
也能够依据本人的需求,从数据库中读去
数据纪录
***************************************/
$animal = array("植物","植物");
$plant = array(array("小猪","小白","小强"),array("玫瑰","向日葵"));
$t->set_file("myfilehandle","test.htm");
//模板中{myname}被$myname的值交换
$t->set_var("myname",$myname);
/*************************************
设置block ,先设置第一层block,文件句
柄是myfilehandle,再设置第二层block,
文件句柄是第一层block。注重两句语句
的次第
*************************************/
$t->set_block("myfilehandle","animalList","a");
$t->set_block("animalList","plantList","p");
//第一层block入手下手
for ($i=0;$i<count($animal);$i++) {
/*******************************
这一句,很主要,不克不及少,它的作
用是排除上一次序递次二层block的内容
不然,了局如(图二)所示,会重
复显示上一次序递次二层block的内容。
缘由是由于parse("p","plantList",true)
当选项ture
******************************/
$t->set_var("p");
//模板中{animal}被$animal[$i]的值交换
$t->set_var("animal",$animal[$i]);
//第二层block入手下手
for ($j=0;$j<count($plant[$i]);$j++) {
//模板中{plant}被$plant[$i][$j]的值交换
$t->set_var("plant",$plant[$i][$j]);
//解析第一层block
$t->parse("p","plantList",true);
}
//解析第二层block
$t->parse("a","animalList",true);
}
$t->parse("out","myfilehandle");
$t->p("out");
?>
4、短少$set_var(“p”)语句的后果:
例子对照复杂,需求注重的中央我已在法式的响应地位做懂得释。这只是个中的一种处置嵌套block的办法,与人人同享,但愿对人人有匡助。感激phpx和phpe.net上列位伴侣的匡助完成此文。
第1步环境配置好了,你算了进了1小步了,那么第2步呢 就是调出第1个程序 一般都是用hello world,视频教程里面我都做了,hello world |
|