当前位置:Gxlcms > PHP教程 > 大侠一个Smarty的有关问题

大侠一个Smarty的有关问题

时间:2021-07-01 10:21:17 帮助过:19人阅读

请教各位大侠一个Smarty的问题
如题,下面是源代码:
index.php:
include 'main.inc.php';
header("Content-Type:text/html;charset=UTF-8");
$sm->assign("time",date("Y-m-d H-i-s"));
class User{
function smarty_function_myname($param,&$smarty) {
if (isset($param['name'])) {
if ("xxx"==$param['name']) {
return "我认识".
}else {
return "我不认识你!";
}
}
}
}
$user = new User();
$sm->register_function("myname", array($user,"smarty_function_myname"));
$sm->display("index.tpl");
?>
--------------------------------------------------------------------
index.tpl:




Insert title here


<{myname name="xxx"}>


----------------------------------------------------
为什么访问index.php的时候一直报错,错误如下:
Fatal error: Call to undefined function smarty_function_myname() in F:\AppServ\www\Demo\templates_c\%%45^45E^45E480CD%%index.tpl.php on line 12

PS:要是将index.php换成如下,可以正常使用:
include 'main.inc.php';
header("Content-Type:text/html;charset=UTF-8");
function smarty_function_myname($param,&$smarty) {
//$param是使用<{myname}>函数时的属性数组
if (isset($param['name'])) {
if ("徐小虾"==$param['name']) {
return "我认识".date("Y-m-d H-i-s");
}else {
return "我不认识你!";
}
}
}

$sm->register_function("myname", "smarty_function_myname");
$sm->display("index.tpl");
?>
求高手指教...

------解决方案--------------------
不懂~~都是用php处理,用smarty显示而已~
array(&$object, $method)数组形式,其中&$object是一个对象的引用,而$method是它的一个方法;
会不会是$sm->register_function("myname", array(&$user,"smarty_function_myname"));呢?

人气教程排行