初來乍到--------smarty,初來乍到_PHP教程

來源:互聯網
上載者:User

初來乍到--------smarty,初來乍到


Smarty

Day01-----smarty的使用
作用:把php+html分離,程式和美工
使用:
1、下載源碼包
2、目錄結構
libs
源碼檔案
Smarty.class.php
template //模板檔案 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的內容,擴充新知識

Smarty
1、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=5
1、配置smarty
2、接收文章id
3、執行個體化pdo
4、拼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);




http://www.bkjia.com/PHPjc/1048761.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1048761.htmlTechArticle初來乍到--------smarty,初來乍到 Smarty Day01-----smarty的使用 作用:把php+html分離,程式和美工 使用: 1、下載源碼包 2、目錄結構 libs 源碼檔案...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.