Maison >développement back-end >tutoriel php >Smarty注册函数,请指点
请问smarty注册函数问题。
$smarty->register_function('dateline', 'handle_dateline'); //这是注册函数 ,第一个参数是什么意思?
function handle_dateline($params, &$smarty) {} //这是被注册函数 ,这2个参数是什么意思?
注册函数是不是会导致函数执行?是不是类似于调用函数?
$smarty->register_function(' dateline', 'handle_dateline');
dateline 是在模板里使用的名字
如
{dateline time="$time" format="Y-m-d"}
而不是
{handle_dateline time="$time" format="Y-m-d"}
呵呵,自己找罪受
function handle_dateline($params, &$smarty) {}
$params 传入的参数数组,比如上例中就有两个元素
函数体你可能会这样写
extract($params);
echo date($format,$time);
$smarty smarty 对象本身,因为你有可能需要在函数体内访问 $smarty 的属性和方法
$smarty->register_function(' dateline', 'handle_dateline');
dateline 是在模板里使用的名字
如
{dateline time="$time" format="Y-m-d"}
不会执行,它只是注册了一个函数,需要你在模板中调用时才会执行,参数也是此时传递的。
不会执行,它只是注册了一个函数,需要你在模板中调用时才会执行,参数也是此时传递的。
注册的目的是让 smarty 找到他,不然就会出错!
说白了,它就是注册一个函数,让你在tpl调用。