请教一下,smarty是如何判断数据更新来实现更新静态文件的 - PHP进阶讨论
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教一下,smarty是如何判断数据更新来实现更新静态文件的 - PHP进阶讨论相关的知识,希望对你有一定的参考价值。
请教一下,smarty是如何判断数据更新来实现更新静态文件的
参考技术A 缓存里有个时间设置。当有请求是时先检查缓存文件的头信息。如果缓存时间没有过期 则直接输出缓存的内容。也就是相当于静态页。如果过期了则重新生成。(肉体一般感觉不到。微秒级的时间) 参考技术B 偶以前自己做缓存是直接判断最后修改时间,呵呵mtime 把? 貌似是这个函数 参考技术C 是什么函数,或者什么变量可以获取缓存里的时间值呢?无刷更新的Ajax+Smarty奇幻
使用kindle的时候最不舒爽的就是他那个翻页的闪烁,特别让人见外,无法做到沉浸式阅读. 另外,当我们在看视频的时候,如果写了评论之后整页面就刷新了,并导致从头开启视频这肯定是不友好的. 这里面就是一种局部刷新技术,江湖流行叫法好像是无刷更新,我听专业的提过一两次,经常记成无痛刷新(请原谅嵌入式程序员对高科技的误解).
这里面用到了Ajax和smarty,代码可以在https://github.com/danteliujie/phpDemo/tree/master/ajaxOnSmartyDemo找到,Ajax的js实现在其上一级的js目录下.这份代码是在一份js的倒计时代码上实现的,具体的可以在https://github.com/danteliujie/phpDemo/tree/master/timeCountDemo找到.
简单解析下:
Ajax其实就是一个前端页面中用来问服务器后台获取数据的通道, 逻辑如下图,实际上就是我们后面的2->3->4代码的顺序
JS中Ajax.call发起更新请求
Ajax.call("ajaxOnSmartyDemo.php?act=complex_query", "query_condition="+seconds, myresponse, 'get', 'json');
php的后台代码做出响应返回数据
$query_result = "..";
die(json_encode($query_result));
JS中的回调函数刷新页面
function myresponse(result)
{
alert(result);
}
ps: js代码来自ecshop的, :-)
以上是关于请教一下,smarty是如何判断数据更新来实现更新静态文件的 - PHP进阶讨论的主要内容,如果未能解决你的问题,请参考以下文章
请教数据库高手,在access2003里,用sql语句查询实现两表关联查询用count更新其中一表?