smarty中assign()这个函数是如何定义的
谁能帖出这个函数的代码啊,以及它的原理
------解决方案--------------------
smarty_internal_data.php
/**<br /> * assigns a Smarty variable<br /> *<br /> * @param array<br><font color='#FF8000'>------解决方案--------------------</font><br>string $tpl_var the template variable name(s)<br /> * @param mixed $value the value to assign<br /> * @param boolean $nocache if true any output of this variable will be not cached<br /> * @param boolean $scope the scope the variable will have (local,parent or root)<br /> */<br /> public function assign($tpl_var, $value = null, $nocache = false)<br /> {<br /> if (is_array($tpl_var)) {<br /> foreach ($tpl_var as $_key => $_val) {<br /> if ($_key != '') {<br /> if (isset($this->tpl_vars[$_key])) {<br /> $this->tpl_vars[$_key]->value = $_val;<br /> $this->tpl_vars[$_key]->nocache = $nocache;<br /> } else {<br /> $this->tpl_vars[$_key] = new Smarty_variable($_val, $nocache);<br /> }<br /> }<br /> }<br /> } else {<br /> if ($tpl_var != '') {<br /> if (isset($this->tpl_vars[$tpl_var])) {<br /> $this->tpl_vars[$tpl_var]->value = $value;<br /> $this->tpl_vars[$tpl_var]->nocache = $nocache;<br /> } else {<br /> $this->tpl_vars[$tpl_var] = new Smarty_variable($value, $nocache);<br /> }<br /> }<br /> }<br /> }<br />