谁能帖出这个函数的代码啊,以及它的原理
回复讨论(解决方案)你可以用ide查找一下。
smarty_internal_data.php
/**
* assigns a smarty variable
*
* @param array|string $tpl_var the template variable name(s)
* @param mixed
$value
the value to assign
* @param boolean
$nocache if true any output of this variable will be not cached
* @param boolean $scope the scope the variable will have (local,parent or root)
*/
public function assign($tpl_var, $value = null, $nocache = false)
{
if (is_array($tpl_var)) {
foreach ($tpl_var as $_key => $_val) {
if ($_key != '') {
if (isset($this->tpl_vars[$_key])) {
$this->tpl_vars[$_key]->value = $_val;
$this->tpl_vars[$_key]->nocache = $nocache;
}
else
{
$this->tpl_vars[$_key] = new smarty_variable($_val, $nocache);
}
}
}
}
else
{
if ($tpl_var != '')
{
if (isset($this->tpl_vars[$tpl_var]))
{
$this->tpl_vars[$tpl_var]->value = $value;
$this->tpl_vars[$tpl_var]->nocache = $nocache;
}
else
{
$this->tpl_vars[$tpl_var] = new smarty_variable($value, $nocache);
}
}
}
}
以上就是smarty中assign()这个函数是如何定义的的内容。