普通變數(shù)與保留變數(shù)
1,普通變數(shù)
一共有兩種宣告普通變數(shù)的方法。
第一種:上面的範(fàn)例已經(jīng)使用過,即在index.php檔案中使用$smarty->assign('add',$add);
第二種:在範(fàn)本檔案中宣告(html中),即{assign?var='add' ?value='值'}?
#程式碼如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>test</title> </head> <body> <!--html的注釋--> {*smarty模板的注釋*} {assign var='add' value='ipnx.cn'} 我們網(wǎng)站的網(wǎng)址是:{$add} </body> </html>
執(zhí)行結(jié)果:
#
使用:{$add}
注意:也可以定義與使用陣列。假若上面定義的add為一維數(shù)組,使用式即:{$add[2]},{$add['aa']},{$add.aa}等使用方式。
2,保留變數(shù)
#?Smarty中有一個(gè)特殊的變數(shù)(就是smarty)可以透過這個(gè)變數(shù)很容易就可以存取到一些環(huán)境變數(shù)。就像PHP中的超全域變數(shù)一樣神奇。
? ? ? 注意:使用這個(gè)保留變數(shù)的時(shí)候:smarty是大小寫敏感的,我們需要的是小寫的smarty
#例子:
一、使用smarty存取PHP中的超全域陣列變數(shù):
1、取得$_GET?? ??{$smarty.get.name }??? 取得get中的name值
2、取得$_POST??? {$smarty.post.name}?? 取得post中的name值
###################################################################################################################################################1 3.取得$_COOKIE? {$smarty.cooke.name}? 取得cookie中的name值############ 同理,也可以取得$_SERVER,?$_ENV?和?$_SESSION等等### #########注意:雖然Smarty提供了較方便直接存取PHP超全域變數(shù)的方法,但必須謹(jǐn)慎使用。直接存取超全局變數(shù)會(huì)弄亂應(yīng)用程式底層程式碼和模板語(yǔ)法。最佳的實(shí)踐是###從PHP將需要的變數(shù)對(duì)模板進(jìn)行賦值再使用。 ###############二、取得目前時(shí)間戳記############# {$smarty.now}其原理就是呼叫了time()函數(shù)## ##########三、直接存取PHP常數(shù)#######
{$smarty.const.常數(shù)名稱}即{$smarty.const.AGE}
PHP定義常數(shù)
#運(yùn)行結(jié)果:
四、其他
取得設(shè)定變數(shù):{$smarty.config}
傳回目前範(fàn)本名稱:{$smarty.template}
傳回目前範(fàn)本物件:{$smarty.template_object}
傳回目前目錄名稱:{$smarty .current_dir}