请教一下,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找到.


简单解析下:

  1. Ajax其实就是一个前端页面中用来问服务器后台获取数据的通道, 逻辑如下图,实际上就是我们后面的2->3->4代码的顺序


  2. JS中Ajax.call发起更新请求

    Ajax.call("ajaxOnSmartyDemo.php?act=complex_query", "query_condition="+seconds, myresponse, 'get', 'json');


  3. php的后台代码做出响应返回数据

    $query_result = "..";

    die(json_encode($query_result));


  4. JS中的回调函数刷新页面

    function myresponse(result)

    {

        alert(result);

    }


ps: js代码来自ecshop的, :-)


以上是关于请教一下,smarty是如何判断数据更新来实现更新静态文件的 - PHP进阶讨论的主要内容,如果未能解决你的问题,请参考以下文章

请教数据库高手,在access2003里,用sql语句查询实现两表关联查询用count更新其中一表?

如何判断mysql数据库的记录已被更新

DB2数据更新问题

请教各位大神,用mongoose如何获取最新插入的一条数据的id

sql 请教update语句in多个值时,进行多次更新

ajax,请教用ajax实现一个功能的思路?