大侠一个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"));呢?