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

FastTemplate 模板引擎入門:安裝、核心理念與基本操作範例

     編輯:PHP 綜合知識

為什麼需要模板

  • 程式設計師專注邏輯,美術設計師專注版面,互不干擾。
  • 秒級更換全站風格,維護成本極低。
  • 多語言站點開發效率大增。
  • 執行速度快,核心類別單一檔案(class.fasttemplate.php)。

核心理念:層層包含

頁面 = 大區塊組合,區塊 = 子區塊組合,最小單元 = 字串變數。模板中以 {VAR_NAME} 佔位,解析時由內而外替換。

基本流程

  1. 載入類別:$tpl = new FastTemplate("template_dir/");
  2. 定義區塊:$tpl->define(array("main" => "main.tpl", "row" => "row.tpl"));
  3. 指派變數:$tpl->assign("VAR_NAME", "值");
  4. 解析區塊:$tpl->parse("OUTPUT_HANDLE", "BLOCK_HANDLE");
  5. 輸出結果:$tpl->FastPrint("OUTPUT_HANDLE");

完整範例

<?php
require_once "class.fasttemplate.php";

$tpl = new FastTemplate("templates/");
$tpl->define(array(
    "page" => "page.tpl",
    "header" => "header.tpl",
    "footer" => "footer.tpl",
    "row" => "row.tpl"
));

// 指派全域變數
$tpl->assign("SITE_TITLE", "My FastTemplate Site");
$tpl->assign("YEAR", date("Y"));

// 解析 header/footer 到 page
$tpl->parse("HEADER", "header");
$tpl->parse("FOOTER", "footer");

// 迴圈產生列表
$items = array("Apple", "Banana", "Cherry");
$list = "";
foreach ($items as $item) {
    $tpl->assign("ITEM_NAME", $item);
    $tpl->parse("LIST_ROW", "row", true); // true = append
    $list = $tpl->get("LIST_ROW"); // 取得累加結果
}
$tpl->assign("CONTENT_LIST", $list);

// 最終解析並輸出
$tpl->parse("PAGE", "page");
$tpl->FastPrint("PAGE");
?>

模板檔案內容

<!-- page.tpl -->
<html><head><title>{SITE_TITLE}</title></head><body>
{HEADER}
<ul>{CONTENT_LIST}</ul>
{FOOTER}
</body></html>

<!-- header.tpl -->
<h1>Welcome to {SITE_TITLE}</h1>

<!-- row.tpl -->
<li>{ITEM_NAME}</li>

<!-- footer.tpl -->
<hr>© {YEAR} {SITE_TITLE}

優缺點總結

優點缺點
極輕量、單檔、無依賴功能較簡單,無快取、無插件機制
語法直觀,學習曲線平緩大型專案維護性不如 Smarty/PHPLib
適合中小專案、快速原型社群較小,更新較慢
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved