首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHPLIB Template 入門系列 (四):模板巢狀嵌套技術詳解

     編輯:PHP 綜合知識

PHPLIB Template 類庫支援主模板嵌入多個子模板,實現頁面頭尾、區塊複用。

模板檔案結構

third.html (主模板)

<!-- 頁面頭部 -->
<BODY> 下面是一個列表 <UL>
<!-- BEGIN list --> <li> 的成績是 <!-- END list -->
</UL> <!-- 頁面腳部 --> </BODY></HTML>

header.html (子模板)

<!DOCTYPE HTML...><HTML><HEAD><TITLE></TITLE></HEAD>

footer.html (子模板)

<P>author © iwind

PHP 程式碼流程

require "inc/template.inc";
$tpl = new Template("template"); // 目錄

// 載入模板檔對應變數名
$tpl->set_file("main", "third.html");
$tpl->set_file("my_header", "header.html");
$tpl->set_file("my_footer", "footer.html");

// 解析子模板變數並嵌入主模板對應位置
$tpl->parse("header", "my_header");   // header.html 內容 → third.html 的 header 位置
$tpl->parse("footer", "my_footer");   // footer.html 內容 → third.html 的 footer 位置

// 解析主模板區塊 (list)
$tpl->set_block("main", "list", "lists");
$array = array("張三"=>82, "李四"=>90, "王二"=>60, "麻子"=>77);
foreach ($array as $username=>$score) {
    $tpl->set_var("username", $username);
    $tpl->set_var("score", $score);
    $tpl->parse("lists", "list", true); // true = 累加模式
}

// 最終解析主模板並輸出
$tpl->parse("mains", "main");
$tpl->p("mains");

關鍵方法解析

  • set_file(alias, filename):建立別名對應檔案。
  • set_var(var, value):設定單一變數值。
  • set_block(parent, block_name, alias):定義可重複區塊。
  • parse(target, source, append):解析 source 變數/區塊,結果存入 target;append=true 累加內容。
  • p(alias):輸出最終結果。

進階:子模板變數賦值與多重嵌套

子模板內變數 (如 title) 同樣用 set_var 設定。子模板可再嵌套子模板 (多重嵌套),區塊亦可多層嵌套,結構極具彈性。

掌握嵌套機制,即可建構高度模組化、易維護的模板系統。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved