我开启了缓存
require dirname(__FILE__).'/run.inc.php';
global $_tpl;
if(!$_tpl->is_cached('member.tpl',$_SERVER['REQUEST_URI'])){
$_member=new MemberAction();
$_member->action();
}
$_tpl->display('member.tpl',$_SERVER['REQUEST_URI']);
$_tpl是smarty模板,MemberAction()是控制器。简单来说是在member.php?action=showupdate里修改了文件数据,这样就跳到member.php?action=show中,但是因为缓存的关系,它直接就加载了member.php?action=show的缓存文件,在member.php?action=show中看不到数据的变化,但数据库数据时修改了的。我想知道如何及时更新数据,修改的部分不缓存。
require dirname(__FILE__).'/run.inc.php';
global $_tpl;
if(!$_tpl->is_cached('member.tpl',$_SERVER['REQUEST_URI'])){
$_member=new MemberAction();
$_member->action();
}
$_tpl->display('member.tpl',$_SERVER['REQUEST_URI']);
$_tpl是smarty模板,MemberAction()是控制器。简单来说是在member.php?action=showupdate里修改了文件数据,这样就跳到member.php?action=show中,但是因为缓存的关系,它直接就加载了member.php?action=show的缓存文件,在member.php?action=show中看不到数据的变化,但数据库数据时修改了的。我想知道如何及时更新数据,修改的部分不缓存。
function insert_xxx(){
return 789;
}
member.tpl中用{insert name="xxx"} 它显示could not load plugin file
我在if(!$_tpl->is_cached('member.tpl',$_SERVER['REQUEST_URI']) ||isset($_GET['id'])){
$_member=new MemberAction();
$_member->action();
}之上用
function insert_xxx(){
return 789;
}
就可以显示数据789,改变成123,就显示123,这个是什么原因了。
另一种办法就是member.php?action=showupdate执行完,调用smarty的方法更新member.php?action=show的缓存,这个不知道如何用,能说具体点吗,如何用smarty方法更新member.php?action=show的缓存