一、assign和display方法的使用以及幾個變量調節器
header("content-type:text/html;charset=utf-8");
//加載Smarty引擎文件
include "./smarty/Smarty.class.php";
//連接數據庫,提取相關數據
$title = "Smarty 模板引擎";
$content = "Smarty 模板引擎Smarty 模板引擎Smarty 模板引擎";
//實例化Smarty
$smarty = new Smarty;
//通過assign方法給模板文件分配變量
$smarty->assign('title',$title);
$smarty->assign('content',$content);
//給模板分配一個數組變量使用
$person = array('自來也',33);
$smarty->assign('person',$person);
//給模板分配一個對象變量使用
class Person{
public $name;
public $age;
}
$per = new Person;
$per->name = '輝夜';
$per->age =555;
$smarty->assign('per',$per);
/** 變量調節器
*所謂的變量調節器其實就是變量修飾器,就是對PHP分配過來的變量加以“修飾”,也就是進行相關的格式化操作!然后再進行輸出!
*不同的調節器有不同的名字,可以完成不同的功能,並且不同的調節器都有自己不同的參數!
{$變量名|調節器名:參數1:參數2:參數3……}
*
*如date_format
*作用:對時間戳進行格式化!參數有很多,但是主要的參數還是代表年月日時分秒的參數!
*{$變量名(時間戳)|date_format:‘%Y-%m-%d %H:%M:%S’}
*/
$time = time();
$smarty->assign('time',$time);
//去掉js和html等相關的標簽!strip_tags
$str = '<b>六道</b>';
$smarty->assign('str',$str);
/**
*nl2br
*{$變量名| nl2br}
*作用:將字符串中的\n轉換為<br />簽,從而在顯示的時候真正的實現換行的效果!
*/
$str1 = "廣州市\n天河區";
$smarty->assign('str1',$str1);
/**truncate
*{$變量名|truncate:字符串長度:’…’}
*作用:只截取前多少多少的字符,后面用…代替!
*/
$str2 = "廣州市天河區廣州市天河區廣州市天河區廣州市天河區";
$smarty->assign('str2',$str2);
//通過display 方法替換模板中的標記並輸出
$smarty->display('./templates/index1.tpl');
index1.tpl文件
<html>
<head>
<title>測試</title>
</head>
<body>
{*這里是注釋內容,不會顯示在瀏覽器端*}
{$title}<hr />
{$content}<hr />
{*模板標記是一個數組*}
姓名:{$person[0]}<br />
年齡:{$person[1]}<hr />
{*模板標記是一個對象*}
姓名:{$per->name}<br />
年齡:{$per->age}<br />
{*變量調節器 date_format 格式如下*}
變量調節器 date_format:{$time|date_format:'%Y-%m-%d %H:%M:%S'}<br />
{*變量調節器 strip_tags 格式如下*}
{$str|strip_tags}<br />
{*變量調節器 nl2br 格式如下*}
{$str1|nl2br}<br />
{*變量調節器 truncate 格式如下*}
{$str2|truncate:10:'...'}<br />
</body>
</html>
二、foreach遍歷數組測試以及if elseif 例子
header("content-type:text/html;charset=utf-8");
//加載Smarty引擎文件
include "./smarty/Smarty.class.php";
//實例化Smarty
$smarty = new Smarty;
$arr = array('name'=>'輝夜',
'age'=>'333',
'home'=>'月亮',
'son'=>'六道'
);
$smarty->assign('arr',$arr);
$day = 4;
$smarty->assign('day',$day);
//通過display 方法替換模板中的標記並輸出
$smarty->display('./templates/foreach.tpl');
foreach.tpl 文件
<html>
<head>
<title>foreach遍歷數組測試</title>
</head>
<body>
{*
{foreach from=數組名 item=元素的值的名 key=元素的鍵名 name=名稱}
{foreachelse}
{/foreach}
主要功能:用於數組元素的遍歷!
from:要遍歷哪個數組元素(必選項)
item:系統每次將遍歷的結果放入到變量item中(必選項)
key:鍵名
name:給本次foreach遍歷起一個名字
*}
{foreach from=$arr item='value' key='key' name='name1'}
{$key}=>{$value}<br />
{/foreach}
{if $day==1}
星期1
{elseif $day==2}
星期2
{elseif $day==3}
星期3
{elseif $day==4}
星期4
{elseif $day==5}
星期5
{else}
周末
{/if}
</body>
</html>