Smarty
Day01-----smarty的使用
作用:把php+html分離,程式和美工
使用:
1、下載源碼包
2、目錄結構.class.php
template //模板檔html檔
template_c //程式運作過程中,自動產生的,模板編譯檔
3、實例化
require "Smarty.class.php";
$smartyOb=new Smarty( );
4、設定
告訴Smarty哪個目錄是放模板html的
$smartyOb->setTemplateDir(path);
告訴smarty哪個目錄是放編譯檔案的
$smartyOb->setCompileDir(pathy哪個目錄是放編譯檔案的
$smartyOb->setCompileDir(path)
5、path)
$smartyOb->display("模板名稱及路徑");
如何給模板傳值
$smartyOb->assign('模板上名稱',被傳遞的變數);
在模板上如何呼叫
模板標籤
{$名稱}
陣列
{$數組名.下標}
二維陣列
array(
0=>array('title'=>'t1','pubtime'=>1234567890,'author'=>'t1','pubtime'=>1234567890,'author'=>' xiaoli'),
1=>array('title'=>'t2','pubtime'=>1334567890,'author'=>'xiaoli'),
array('title'=>'t3','pubtime '=>1434567890,'author'=>'xiaoli'),
array('title'=>'t4','pubtime'=>1534567890,'author'=>'xiaoli'),
)
遍歷數組
{foreach 陣列名稱as 變數名稱}
{$變數名.title}
{/foreach}
下標值
迴圈次數
目前是第幾次迴圈
是否為第一次迴圈
是否為最後一次迴圈
案例:
實作一個隔行背景顏色變化
程式碼
練習:
給每個li加上底線(虛線),最後一個劃線除外
了解內容:
屬性:
練習:
使用section,實現隔行背景顏色不一樣
變數調節器
$smartyO-b->left_delbter> =" $smartyOb->right_delimiter="}>";
Smarty
1、Smarty,放在php主程式中 2、設定
$smartyOb->setTemplateDir()
$smartyOb->setCompileDir()
$smartyOb->left_delimiter()
$smartyOb->rightyOb->left_delimiter()
$smartyOb->right_delpter( smartyOb->assign("模板變數名稱",變數);
4、顯示模板
$smartyOb->display(path);
{$名稱}
{$數組.下標}
{foreach 數組名as 變數}
{$數組.下標}
{foreach 數組名as 變數}
{$變數名稱}
{/foreach}
標籤屬性:
{$變數名稱@key}
{$變數名稱@index}
{$變數名稱@iteration}
{$變數名稱@total}
{$}
{$變數名稱@iteration}
{$變數名稱@total}
{$變數名稱@first}
{$變數名稱@last}
{if 條件}
{else}
{/if}
變數調節器:
{第一個參數|函數名稱:第二個參數:... ....}
文章詳細頁:
02_detail.php?id=5
1、設定smarty
2、接收文章id
3、實例化pdo
4、拼sql語句
5、執行資料
6、取得資料
7、給模板傳值
9、套模板標籤,使用主程式傳遞過來的資料
頁拆分
{include file="模板的路徑"}
註冊函數
function fun1() {
return 'abc';
}
$smartyOb->registerPlugin("function","模板函數名稱","被註冊的函數名稱");
在模板上調用:
{模板函數名稱名=值名=值....}
如何傳參? ? ?
1、參數個數最多兩個,
第一個接收的模板上所有的傳參,
第二參數接收的是目前的smarty物件。
快取
資料庫中的資料被快取。
好處:減輕了mysql伺服器的壓力
1、指定快取檔案的存放目錄
$smartyOb->setCacheDir(ROOT."day02/cache");
2、開啟快取
$smartyOb->caching=true; 、指定緩存的生命週期。
$smartyOb->cache_lifetime=100;//秒
作用:判斷快取檔案是否存在且有效
$smartyOb->isCached("範本名稱及路徑",id)
$smartyOb->display("範本名稱及路徑",id);
🎜
以上就介紹了初來乍到--------smarty,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。