使用php 模板类进行编程很有好处,但是有时也会碰到一个问题,比如说输出一个表格,但是表格行数要到运行的时候才知道,如留言板、bbs、购物网站之类,经常会碰到这个问题。这时做美工的人无法决定在html文件中用几行表格,如果在php代码文件中写循环输出,又会让美工、php程序员看代码都不方便,美工的人会说,这里的表格哪里去了?我要修改表格的颜色背景之类怎么办?php程序员也会说,怎么这里突然有一个<tr>、<td>,做什么用?会嵌在html文件哪里?。
使用php模板类编程一般把这种不确定个数的html 元素当成一个“ block ”,对 bolck 的编程类似于在代码中写一个循环。在比较常用的php模板类(如 fasttemplate 和 phplib )都有这种功能。写嵌套的block 类似于写多重循环。现在举例说明在 php4 里面的 integratedtemplateextension 类中block 的编程方法,例子中用的是两重循环,外层block 是goodslist,里层block 是goodslistofsometype 。
基本设置:假设我们写的代码放在c:\testphp\php4\goodslist.htm 和 c:\testphp\html\goodslist.php 中。将c:\testphp\php4 在web server 上设成虚拟目录 /testphp 并且给与脚本执行权限,确认c:\testphp\html\goodslist.htm 无法通过远端浏览器访问。假定php4安装在c:\php4,在 php.ini 里面设置 include_path = ".;c:\php4\pear"
以下是goodslist.htm的内容:
<html>
<head>
<title>购物袋里的商品清单</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
body,p,br,td,tr,table { font-size: 9pt}
-->
</style>
</head>
<body bgcolor="#ffffff" text="#000000">
<table width="700" border="0" cellspacing="0" cellpadding="0" height="90">
<tr>
| 对此文章发表了评论 |
