单页面 多缓存
为了处理同样的显示界面,不同的显示内容。内容有url参数决定。同一个模板可以生成多个缓存文件(有多少种内容显示就有多少个缓存文件),多个缓存文件用display("*tpl","$_GET"["id"]);在PHP中可以用is_cached判断模板是否被缓存
is_cached格式和display完全一样
is_cached是一个内建函数
用if($smarty->is_cached('模版文件'));判断模板有没有被缓存,如果被缓存了,就不用执行查询数据了
局部不缓存
页面很复杂,需要设置缓存。但是页面上包含实时性较强的数据(时间和日期,股市行情,天气等),所有在这样的页面上我们将实时性较强的数据部设置缓存,将其他的几乎不变化的内容加上缓存 称为局部不缓存
利用insert内建函数可以讲smarty模板当中的数据传递给php外置函数去执行,传递过去的函数名要求以insert.funName.php命名,保存在plugins文件夹
insert.funName.php文件中的函数命名格式为:
samrty_insert_funName($p){...} $p的内容是通过smarty当中的insert传递过来的,$p是一组关联数组