Smarty
Day01-----smarty的使用作用:把php+html分離,程序和美工使用:1、下載源碼包2、目錄結構libs源碼文件Smarty.class.phptemplate //模板文件 html文件template_c //程序運行過程中,自動產生的,模板編譯文件3、實例化require "Smarty.class.php";$smartyOb=new Smarty();4、配置告訴Smarty哪個目錄是放模板html的$smartyOb->setTemplateDir(path);告訴smarty哪個目錄是放編譯文件的$smartyOb->setCompileDir(path)5、顯示模板$smartyOb->display("模板名稱及路徑");如何給模板傳值$smartyOb->assign('模板上名稱',被傳遞的變量);在模板上如何調用模板標簽{$名稱}數組{$數組名.下標}二維數組array(0=>array('title'=>'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}下標值<{$變量名@key}> <{$變量名@index}>循環次數<{$變量名@total}>當前是第幾次循環<{$變量名@iteration}>是否為第一次循環<{$變量名@first}>是否為最后一次循環<{$變量名@last}>案例:實現一個隔行背景顏色變化<{if 條件}>代碼<{/if}>練習:給每個li加上下劃線(虛線),最后一行除外
了解內容:<{section name=s1 loop=被遍歷的數組}><{$被遍歷的數組[s1].下標}><{/section}>屬性:<{$smarty.section.s1.total}><{$smarty.section.s1.index}><{$smarty.section.s1.iteration}><{$smarty.section.s1.last}><{$smarty.section.s1.first}>練習:使用section,實現隔行背景顏色不一樣
變量調節器模板標簽定界符的指定:<{}>$smartyOb->left_delimiter="<{";$smartyOb->right_delimiter="}>";
day02---------,回顧day01的內容,擴充新知識
Smarty1、Smarty,放在php主程序中2、配置$smartyOb->setTemplateDir()$smartyOb->setCompileDir()$smartyOb->left_delimiter()$smartyOb->right_delimiter()3、給模板傳值$smartyOb->assign("模板變量名稱",變量);4、顯示模板$smartyOb->display(path);{$名稱}{$數組.下標}{foreach 數組名 as 變量}{$變量名}{/foreach}標簽屬性:{$變量名@key}{$變量名@index}{$變量名@iteration}{$變量名@total}{$變量名@first}{$變量名@last}{if 條件}{else}{/if}變量調節器:{第一個參數|函數名:第二個參數:.......}文章詳細頁:02_detail.php?id=51、配置smarty2、接收文章id3、實例化pdo4、拼sql語句5、執行6、獲取數據7、給模板傳值8、顯示模板9、套模板標簽,使用主程序傳遞過來的數據
頁面拆分{include file="模板的路徑"}注冊函數function fun1(){return 'abc';}$smartyOb->registerPlugin("function","模板函數名","被注冊的函數名稱");在模板上調用:{模板函數名稱 名=值 名=值 ....}如何傳參???1、參數個數最多兩個,第一個接收的模板上所有的傳參,第二參數接收的是當前的smarty對象。緩存數據庫中的數據被緩存。好處:減輕了MySQL服務器的壓力1、指定緩存文件的存放目錄$smartyOb->setCacheDir(ROOT."day02/cache");2、開啟緩存$smartyOb->caching=true;3、指定緩存的生命周期。$smartyOb->cache_lifetime=100;//秒作用:判斷緩存文件是否存在且有效$smartyOb->isCached("模板名稱及路徑",id)$smartyOb->display("模板名稱及路徑",id);
新聞熱點
疑難解答