smarty模板在PHP中用于將原本與HTML代碼混雜在一起的PHP代碼邏輯分離;smarty是一種PHP寫出來的模板引擎,smarty分離了邏輯代碼和外在的內容,提供了一種易于管理和使用的方法實現html與PHP代碼邏輯分離的效果,導入語法為“require_once('…Smarty.php')”。
本文操作環境:Windows10系統、PHP8.1版、Dell G3電腦
smarty在php中怎么用
Smarty是一個使用PHP寫出來的模板引擎,是業界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內容,提供了一種易于管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。
簡單的講,目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內容不會影響到前端人員的頁面設計,前端人員重新修改頁面不會影響到程序的程序邏輯,這在多人合作的項目中顯的尤為重要。
優點
1、速度:采用Smarty編寫的程序可以獲得最大速度的提高,這一點是相對于其它的模板引擎技術而言的。
2、編譯型:采用Smarty編寫的程序在運行時要編譯成一個非模板技術的PHP文件,這個文件采用了PHP與HTML混合的方式,在下一次訪問模板時將WEB請求直接轉換到這個文件中,而不再進行模板重新編譯(在源程序沒有改動的情況下)
3、緩存技術:Smarty選用的一種緩存技術,它可以將用戶最終看到的HTML文件緩存成一個靜態的HTML頁,當設定Smarty的cache屬性為true時,在Smarty設定的cachetime期內將用戶的WEB請求直接轉換到這個靜態的HTML文件中來,這相當于調用一個靜態的HTML文件。
4、插件技術:Smarty可以自定義插件。插件實際就是一些自定義的函數。
5、模板中可以使用if/elseif/else/endif。在模板文件使用判斷語句可以非常方便的對模板進行格式重排。
smarty安裝
composer下載smarty
composer require smarty/smarty
導入smarty,并創建smarty對象
//引入Smarty.class.php require_once('../vendor/smarty/smarty/libs/Smarty.class.php'); $smarty = new Smarty();
smarty基礎目錄配置
$smarty->setTemplateDir('./templates/'); $smarty->setCompileDir('./templates_c/'); $smarty->setConfigDir('./configs/'); $smarty->setCacheDir('./cache/');
smarty分配變量
$name = 'smarty'; $smarty->assign('name',$name);
tpl模板使用變量
{$name} 、
smarty 調用模板
$smarty->display('index.tpl');
推薦學習:《PHP視頻教程》