W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
Smarty可以識別出在雙引號中嵌套的變量值,這些變量名稱必須只包括 字母、數(shù)字和下劃線。 參見命名規(guī)則。
另外,帶有其他字符的,如點(diǎn)號(.)或者 $object->reference
形式的變量, 必須用`單引號`
括起來。
Smarty3中允許在雙引號中嵌入Smarty的標(biāo)簽并運(yùn)行。 如果你需要在雙引號的變量上使用修飾器、插件或者PHP函數(shù)等,這是非常有用的。
Example 3.5. 例子
{func var="test $foo test"} // 識別變量 $foo {func var="test $foo_bar test"} // 識別變量 $foo_bar {func var="test `$foo[0]` test"} // 識別變量 $foo[0] {func var="test `$foo[bar]` test"} // 識別變量 $foo[bar] {func var="test $foo.bar test"} // 識別變量 $foo (不是 $foo.bar) {func var="test `$foo.bar` test"} // 識別變量 $foo.bar {func var="test `$foo.bar` test"|escape} // 引號外的修飾器! {func var="test {$foo|escape} test"} // 引號內(nèi)的修飾器! {func var="test {time()} test"} // PHP函數(shù)結(jié)果 {func var="test {counter} test"} // 插件的結(jié)果 {func var="variable foo is {if !$foo}not {/if} defined"} // Smarty區(qū)塊函數(shù)
Example 3.6. 例子
{* 將使用$tpl_name的值 *} {include file="subdir/$tpl_name.tpl"} {* 不使用$tpl_name的值 *} {include file='subdir/$tpl_name.tpl'} // 必須用雙引號才能用變量值! {* 當(dāng)變量包含了點(diǎn)號“.”,必須用單引號括起來 *} {cycle values="one,two,`$smarty.config.myval`"} {* 當(dāng)變量包含了點(diǎn)號“.”,必須用單引號括起來 *} {include file="`$module.contact`.tpl"} {* 點(diǎn)號后面跟著變量 *} {include file="`$module.$view`.tpl"}
雖然Smarty能處理比較復(fù)雜的表達(dá)式和語法,但是最好保持模板語法的簡潔, 把關(guān)注的焦點(diǎn)放在顯示層面。如果你發(fā)現(xiàn)模板語法非常復(fù)雜,那么 最好把這些邏輯代碼轉(zhuǎn)移到插件或者修飾器上,用PHP代碼進(jìn)行編寫。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: