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

Smarty 模板引擎入門教程(二):程序設計篇

     編輯:PHP 綜合知識

PHP 端核心配置代碼

<?php
/*********************************************
 * 文件名: index.php
 * 作用: 顯示實例程序
 * 作者: 大師兄
 * Email: teacherli@163.com
 *********************************************/
include_once("./comm/Smarty.class.php");  // 載入核心類
$smarty = new Smarty();                    // 實例化

// 目錄配置(建議顯式指定,養成良好習慣)
$smarty->template_dir = "./templates";      // 模板目錄
$smarty->compile_dir  = "./templates_c";    // 編譯目錄(需寫權限)
$smarty->cache_dir    = "./cache";          // 緩存目錄(需寫權限)
$smarty->cache_lifetime = 60 * 60 * 24;     // 緩存壽命:1 天(秒)
$smarty->caching = true;                    // 啟用緩存

// 定界符配置(避免與 JS 衝突)
$smarty->left_delimiter  = "<{";
$smarty->right_delimiter = "}>";

// 變量賦值
$smarty->assign("name", "李曉軍");

// 輸出模板
$smarty->display("index.tpl");
?>

關鍵配置項深度解析

屬性/方法說明最佳實踐
template_dir模板文件目錄顯式指定,避免默認值歧義
compile_dir編譯產物目錄Linux 需 chmod 777 或同用戶組寫權限
cache_dir緩存文件目錄同 compile_dir 權限要求
left/right_delimiter定界符改為 <{ }> 或 <!--{ }-->,模板中同步修改
cache_lifetime緩存有效期(秒)-1 永不過期,0 每次重建,>0 具體秒數
caching緩存模式0/false 關閉,1/true 用當前 lifetime,2 用創建時 lifetime
assign()變量賦值支持單個、陣列批量、對象屬性
display()編譯並輸出生產環境建議配合緩存使用

程序員必知的 3 大原則

  1. 文件頭註釋:版權、作者、時間、用途——良好代碼風格的起點
  2. 顯式配置路徑:不依賴默認值,遷移部署零驚喜
  3. 定界符隔離:模板中 JS 代碼含 { } 時必改定界符

調試技巧

  • $smarty->debugging = true; 開啟調試控制台(彈窗顯示變量、模板、配置)
  • {$var|@debug_print_var} 模板中斷點輸出變量結構
  • 檢查 templates_c/ 編譯產物理解模板編譯邏輯
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved