天天看点

php smarty关闭缓存,控制输出缓存

$smarty->setCaching(Smarty::CACHING_LIFETIME_CURRENT);

function remaining_seconds($params, $smarty) {

$remain = $params['endtime'] - time();

if($remain >= 0){

return $remain . ' second(s)';

}else{

return 'done';

}

}

$smarty->registerPlugin('function','remaining', 'remaining_seconds', false, array('endtime'));

if (!$smarty->isCached('index.tpl')) {

// 从db获取$obj 并赋值...

$smarty->assignByRef('obj', $obj);

}

$smarty->display('index.tpl');

?>

模板index.tpl 内容是:

时间还有: {remaining endtime=$obj->endtime}

即使页面被缓存了,$obj的倒计时也还是会在每次页面刷新的时候改变。

endtime属性仅在第一次页面显示的时候,被从db里面读取出来并写入到模板,然后就一直是直接从缓存内读取了。