この関数のコードとその原理を投稿できる人
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() 関数がどのように定義されているかを示しています。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。