bet亚洲官方网站-bet3365娱乐场手机版

变量作用范围

你可以设置Smarty对象、通过createData()建立的对象、和createTemplate()建立的对象的作用范围。 这些对象可以连接使用。 模板内可以使用全部由对象的变量和它们链条上的父对象的变量。

默认模板通过 $smarty->display(...)$smarty->fetch(...)调用,可获取到Smarty对象范围的变量。

通过传递特定的数据或模板对象,你可以完全在模板内控制这些变量的可视范围。

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);

    


参见assign(), createData()createTemplate().

bet亚洲官方网站|bet3365娱乐场手机版

XML 地图 | Sitemap 地图