快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

PEAR里HTML_Template_IT摸板类的用法

PEAR里的HTML_Template_IT是一个简朴而且轻易使用的类。


********** 建立一个模板文件 ****************
“符号”命名规则 为下面的正则表达式:
{[0-9A-Za-z_-]+}
”块“ 格式为下面的,块名的命名规则和“符号”相同的:
<!-- BEGIN 块名 -->
... 块内容 ...
<!-- END 块名 -->
块答应嵌套,你必须首先设置并分析最内层的块,然后再设置和分析上一层的块。





*********** 主要方式 ***********
构造函数:
void IntegratedTemplate::IntegratedTemplate ([string $root = ""])
$root = 摸板根目录
你也可以用
void IntegratedTemplate::setRoot (string $root)
方式设置模板目录;该方式不能被静态调用。
---------------------------------------------------------
加载模板:
boolean IntegratedTemplate::loadTemplatefile (string $filename, boolean [$removeUnknownVariables = TRUE], boolean [$removeEmptyBlocks = TRUE])
$filename = 模板文件名
$removeUnknownVariables = 设置是否移除未知的变量
$removeEmptyBlocks = 设置是否移除空块
成功返回TRUE,失败返回FALSE。
该方式不能被静态调用
-------------------------------------------------------
指定当前要处理的块:
boolean IntegratedTemplate::setCurrentBlock ([string $block = "__global"])
$block = 块名
成功返回TRUE,失败会返回一个PEAR_Error对象,里面包含错误
描述。该方式不能被静态调用。
-------------------------------------------------------
用变量替换当前要处理的块里的“符号”:
void IntegratedTemplate::setVariable (mixed $placeholder [, mixed $variable = ""])
$placeholder = 要替换的符号名,假如$variable是一个数组,
那就用符号名作为这个数组的索引并用这个索
引的数组元素的数据替换符号
$variable = 变量名或数组名
该函数不能被静态调用
--------------------------------------------------------
分析当前正处理的块:
void IntegratedTemplate::parseCurrentBlock ()
失败会返回一个PEAR_Error对象,里面包含错误
描述。该方式不能被静态调用。
---------------------------------------------------------
处理完成输出:
void IntegratedTemplate::show ([string $block])
$block = 要返回的块
假如没设置$block,将返回完整的模板


******************* 简朴示例(示例来自PEAR的在线手册)*****
Usage Example
Example 25-1. main.tpl.htm模板文件,在"./templates"目录下

<html>
<table border>
<!-- BEGIN row -->
<tr>
<!-- BEGIN cell -->
<td>
{DATA}
</td>
<!-- END cell -->
</tr>
<!-- END row -->
</table>
</html>


Example 25-2. PHP脚本

<?php
require_once "HTML/Template/IT.php";

$data = array
(
"0" => array("Stig", "Bakken"),
"1" => array("Martin", "Jansen"),
"2" => array("Alexander", "Merz")
);

$tpl = new HTML_Template_IT("./templates");

$tpl->loadTemplatefile("main.tpl.htm", true, true);

foreach($data as $name) {
foreach($name as $cell) {
// Assign data to the inner block
$tpl->setCurrentBlock("cell") ;
$tpl->setVariable("DATA", $cell) ;
$tpl->parseCurrentBlock("cell") ;
}
// Assign data and the inner block to the
// outer block
$tpl->setCurrentBlock("row") ;
$tpl->parseCurrentBlock("row") ;
}
// 输出
$tpl->show();

?>


Example 25-3. 输出

<html>
<table border>
<tr>
<td>
Stig
</td>
<td>
Bakken
</td>
</tr>
<tr>
<td>
Martin
</td>
<td>
Jansen
</td>
</tr>
<tr>
<td>
Alexander
</td>
<td>
Merz
</td>
</tr>
</table>
</html>

*******************************************************
HTML_Template_IT里面还有一个ITX类,可以完成更加复杂的功能,
继续自IT类;ITX。PHP文件的原代码里包含了这个类的方式说明。

关于HTML_Template_IT其他方式的具体说明请参见PEAR的手册,地址为
http://pear.php.net/manual/en/package.html.html-template-it.php

--希望大家能好好利用PEAR这个库写出更多更好的PHP程序!--




返回类别: 教程
上一教程: PHP4实际应用经验篇(1)
下一教程: window.open()的所有参数列表 

您可以阅读与"PEAR里HTML_Template_IT摸板类的用法"相关的教程:
· PEAR::HTML_QuickForm与Smarty 的结合应用
· 开源项目PEAR程序包下载,附手册(phplib,db,phpunit...)
· 类的另类用法--数据的封装 
· PHP语句中or的用法
· 第十二节--类的自动加载 -- Classes and Objects in PHP5 [12]
    微笑服务 优质保证 索取样品