Smarty變量作用范圍

2018-10-12 14:32 更新

你可以設(shè)置Smarty對(duì)象、通過(guò)createData()建立的對(duì)象、和createTemplate()建立的對(duì)象的作用范圍。 這些對(duì)象可以連接使用。 模板內(nèi)可以使用全部由對(duì)象的變量和它們鏈條上的父對(duì)象的變量。

默認(rèn)模板通過(guò) $smarty->display(...)或 $smarty->fetch(...)調(diào)用,可獲取到Smarty對(duì)象范圍的變量。

通過(guò)傳遞特定的數(shù)據(jù)或模板對(duì)象,你可以完全在模板內(nèi)控制這些變量的可視范圍。

Example 4.6. 變量范圍的例子

// assign variable to Smarty object scope
$smarty->assign('foo','smarty');

// assign variables to data object scope
$data = $smarty->createData();
$data->assign('foo','data');
$data->assign('bar','bar-data');

// assign variables to other data object scope
$data2 = $smarty->createData($data);
$data2->assign('bar','bar-data2');

// assign variable to template object scope
$tpl = $smarty->createTemplate('index.tpl');
$tpl->assign('bar','bar-template');

// assign variable to template object scope with link to Smarty object
$tpl2 = $smarty->createTemplate('index.tpl',$smarty);
$tpl2->assign('bar','bar-template2');

// This display() does see $foo='smarty' from the $smarty object
$smarty->display('index.tpl');

// This display() does see $foo='data' and $bar='bar-data' from the data object $data
$smarty->display('index.tpl',$data);

// This display() does see $foo='data' from the data object $data 
// and $bar='bar-data2' from the data object $data2
$smarty->display('index.tpl',$data2);

// This display() does see $bar='bar-template' from the template object $tpl
$tpl->display();  // or $smarty->display($tpl);

// This display() does see $bar='bar-template2' from the template object $tpl2
// and $foo='smarty' form the Smarty object $foo
$tpl2->display();  // or $smarty->display($tpl2);
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)