当前位置: 首页 > 图文教程 > 网络编程 > PHP > IntegratedTemplate类实现BLOCK功能

PHP
php 远程图片保存到本地的函数类
php 破解防盗链图片函数
快速开发一个PHP扩展图文教程
PHP6 mysql连接方式说明
php 进度条实现代码
php discuz 主题表和回帖表的设计
php 无限级缓存的类的扩展
php adodb操作mysql数据库
php FPDF类库应用实现代码
sourcesafe管理phpproj文件的补充说明(downmoon)
AspNetAjaxPager,Asp.Net通用无刷新Ajax分页控件,支持多样式多数据绑定
php一句话cmdshell新型 (非一句话木马)
php 木马的分析(加密破解)
PHP 数组入门教程小结
php 方便水印和缩略图的图形类
PHP加速 eAccelerator配置和使用指南
PHP 组件化编程技巧
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
两个强悍的php 图像处理类1
PHP 数据库 常见问题小结

PHP 中的 IntegratedTemplate类实现BLOCK功能


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 61 ::
收藏到网摘: n/a

读者要求:了解PHP4 的模板概念
使用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>
<td colspan="5">&nbsp;</td>
</tr>
<tr>
<td colspan="5">
<div align="center">{UserName},您的购物袋里有以下商品:</div>
</td>
</tr>
<tr>
<td colspan="5">
<hr>
</td>
</tr>
<tr>
<td width="52">&nbsp;</td>
<td width="302">商品种类</td>
<td width="302">商品名称</td>
<td width="299">商品价格</td>
<td width="47">&nbsp;</td>
</tr>
<!-- BEGIN GoodsList --> <!-- 说明: block 商品列表开始 -->
<tr bgcolor="#99CCFF">
<td width="52">&nbsp;</td>
<td width="302"><font color="#CC0066">{Type}</font></td>
<td width="302">&nbsp;</td>
<td width="299">&nbsp;</td>
<td width="47">&nbsp;</td>
</tr>
<!-- BEGIN GoodsListOfSomeType --> <!-- 说明: block 某一类商品列表开始 -->
<tr>
<td width="52">&nbsp;</td>
<td width="302">&nbsp;</td>
<td width="302">{GoodsName}</td>
<td width="299">{Price}</td>
<td width="47">&nbsp;</td>
</tr>
<!-- END GoodsListOfSomeType --> <!-- 说明: block 某一类商品列表结束 -->
<!-- END GoodsList --> <!-- 说明: block 商品列表结束 -->
<tr>
<td colspan="5">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
</body>
</html>

 

以下是PHP4代码文件 GoodsList.php


<?php
require_once "HTML/ITX.php";
// 以下是给变量赋值,在实际代码中可能从Database中取得数据然后赋值
$UserName = "皮皮鲁";
$GoodsTypeArray = array("家电", "书籍");
$GoodsNameArray = array(array("三星显示器", "Sony单放机&quo