PEAR裡HTML_Template_IT摸板類的用法_PHP

來源:互聯網
上載者:User
關鍵字 用法 方法 block td 返回 td 符號 模板
PEAR裡的HTML_Template_IT是一個簡單而且容易使用的類。


********** 建立一個模板檔案 ****************
“符號”命名規則 為下面的Regex:
{[0-9A-Za-z_-]+}
”塊“ 格式為下面的,塊名的命名規則和“符號”一樣的:

... 塊內容 ...

塊允許嵌套,你必須首先設定並分析最內層的塊,然後再設定和分析上一層的塊。





*********** 主要方法 ***********
建構函式:
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"目錄下











{DATA}




Example 25-2. 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. 輸出
















Stig

Bakken

Martin

Jansen

Alexander

Merz



*******************************************************
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程式!--
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.