Smarty成員方法:assign()

2018-10-20 11:21 更新

Name

assign() — 賦值

說明

void assign(mixed var);
void assign(string varname,
            mixed var,
            bool nocache);

你可以傳遞鍵值對,或聯(lián)合數(shù)組進(jìn)行賦值到模板。

如設(shè)置第三個(gè)參數(shù)nocache為true,則該變量不進(jìn)行緩存。 詳細(xì)參考 變量緩存。

Note

在你傳遞對象到模板時(shí),請記住對象在模板中使用的成員變量和方法均只為了顯示。通過對象在模板中進(jìn)行一些更復(fù)雜的應(yīng)用邏輯是很容易的事情,但這樣會成為較差的設(shè)計(jì),并且難以管理。請參見Smarty網(wǎng)站上關(guān)于最佳實(shí)踐的主題。

Example 14.6. assign()

<?php
// 傳遞鍵值對
$smarty->assign('Name', 'Fred');
$smarty->assign('Address', $address);

// 傳遞聯(lián)合數(shù)組
$smarty->assign(array('city' => 'Lincoln', 'state' => 'Nebraska'));

// 傳遞數(shù)組
$myArray = array('no' => 10, 'label' => 'Peanuts');
$smarty->assign('foo',$myArray);

// 傳遞一行數(shù)據(jù)庫的返回記錄 (如 adodb)
$sql = 'select id, name, email from contacts where contact ='.$id;
$smarty->assign('contact', $db->getRow($sql));
?>

模板中可以直接使用:

{* 和php一樣,變量名不區(qū)分大小寫 *}
{$Name}
{$Address}
{$city}
{$state}

{$foo.no}, {$foo.label}
{$contact.id}, {$contact.name},{$contact.email}

更多數(shù)組的使用方法請參見 {foreach} 和 {section}

參見 assignByRef()getTemplateVars()clearAssign()append() 和 {assign}

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號