本文描述了ThinkPHP静态缓存的简单配置和使用。分享给大家参考,如下:
根据ThinkPHP官方手册:ThinkPHP内置了静态缓存类,通过定义静态缓存规则实现可配置的静态缓存。
启用静态缓存:
ThinkPHP官方手册上说。
要使用静态缓存功能,需要打开HTML_CACHE_ON参数,在项目配置目录下添加静态缓存规则文件htmls.php,两者缺一不可。否则,静态缓存将不会生效。
在配置文件Confconfig.php的数组()中添加:
HTML_CACHE_ON'=true,//开启静态缓存' HTML_PATH'='__APP__/html ',//静态缓存文件目录,HTML_PATH可以任意设置。这被设置为当前项目下新创建的HTML目录的静态规则定义:
ThinkPHP官方手册上说。
有三种方法可以定义静态规则:
返回Array('ActionName'=array('静态规则','静态缓存有效期','附加规则'),//第一个' modulename e : action name '=Array('静态规则','静态缓存有效期','附加规则'),//第二个' *'=array(。静态缓存有效期','附加规则'),//第三个…更多操作的静态规则)第一个是定义操作的全局静态规则,例如,所有读操作的静态规则是:
Read'=array('{id} ',' 60 '),其中{id}表示取$_GET['id']作为静态缓存文件名,第二个参数表示缓存60秒。
第二个是定义某个模块操作的静态规则。例如,我们需要为静态缓存定义Blog模块的读取操作。
Blog:read'=array('{id} ',-1)第三种方式是定义全局静态缓存规则,在特殊情况下使用,任何模块的操作都适用,例如。
*=数组({$ _ server。request _ uri | MD5 } ')//根据当前URL进行缓存。这里我在静态缓存规则文件htmls.php中写道:
?Php返回数组(' gethtml'=array ('{:action} ',-1),//-1表示永久缓存);上述静态缓存规则表明,定义所有getHtml操作的静态规则是:
Gethtml'=array ('{:action} ',-1) {:action}表示当前操作名是静态缓存文件名。
也写入文件 lib action index.class.php:
?Class indexaction扩展了action {//生成gethtml.shtml公共函数gethtml(){ header(' content-type : text/html;charset=utf-8 ');$this-assign('title ','生成html文件');$this-assign('info ','生成html文件');$ this-display();}}?写入 TPL 默认索引 gethtml.html:
!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN ' HTML head meta http-equiv=' Content-Type ' Content=' text/HTML;charset=utf-8 '/title { $ title }/title/head dyh 2 { $ info }/H2/body/html,然后在浏览器中输入:http://127 . 0 . 0 . 1/myapp/index . PHP/index/gethtml即可看到预期的页面。
刷新页面后,浏览器地址栏将发生如下变化:
Ps:如果apache、firefox和opera可能不支持shtml文件,可以在httpd.conf文件中找到' addtypettext/html . shtml '和' addoutputfilterincludes.shtml ',分别去掉前面的' # '。
更多对thinkPHP感兴趣的读者,请查看本网站专题:《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》、《PHP模板技术总结》。
希望本文对基于ThinkPHP框架的PHP程序设计有所帮助。