本文实例讲述了ThinkPHP静态缓存简单配置和使用方法。分享给大家供大家参考,具体如下:

根据ThinkPHP官方手册:ThinkPHP内置了静态缓存类,通过静态缓存规则定义来实现了可配置的静态缓存。

启用静态缓存:

ThinkPHP官方手册写道

要使用静态缓存功能,需要开启HTML_CACHE_ON 参数,并且在项目配置目录下面增加静态缓存规则文件 htmls.php,两者缺一不可。否则静态缓存不会生效。

在配置文件Conf\config.php的array()中加上:

'HTML_CACHE_ON' => true,//开启静态缓存

'HTML_PATH' => '__APP__/html',//静态缓存文件目录,HTML_PATH可任意设置,此处设为当前项目下新建的html目录

静态规则定义:

ThinkPHP官方手册写道

静态规则的定义有三种方式:

Return Array(

'ActionName'=>array('静态规则','静态缓存有效期','附加规则'), //第一种

'ModuleName:ActionName'=>array('静态规则','静态缓存有效期','附加规则'),//第二种

'*'=>array('静态规则','静态缓存有效期','附加规则'),//第三种

…更多操作的静态规则

)

第一种是定义全局的操作静态规则,例如定义所有的read操作的静态规则为:

'read'=>array('{id}','60')

其中,{id} 表示取$_GET['id'] 为静态缓存文件名,第二个参数表示缓存60秒。

第二种是定义某个模块的操作的静态规则,例如,我们需要定义Blog模块的read操作进行静态缓存

'Blog:read'=>array('{id}',-1)

第三种方式是定义全局的静态缓存规则,这个属于特殊情况下的使用,任何模块的操作都适用,例如

'*'=>array('{$_SERVER.REQUEST_URI|md5}')

//根据当前的URL进行缓存。

我这里在静态缓存规则文件 htmls.php中写:

return array(

'getHtml' => array('{:action}', -1),//-1表示永久缓存

);

?>

上面的静态缓存规则表示定义所有的getHtml操作的静态规则为:

'getHtml'=>array('{:action}',-1)

{:action}表示当前操作名为静态缓存文件名。

同样在\Lib\Action\IndexAction.class.php文件中写:

class IndexAction extends Action{

//在当前项目的html目录下生成getHtml.shtml

public function getHtml() {

header('Content-type:text/html;charset=utf-8');

$this->assign('title', '生成html文件');

$this->assign('info', '生成html文件');

$this->display();

}

}

?>

在\Tpl\default\index\getHtml.html中写:

{$title}

{$info}

然后在浏览器中输入:http://127.0.0.1/myApp/index.php/index/getHtml,可看到预期的页面。

刷新页面后,浏览器地址栏会发生变化,如下:

ps:如果用的apache,firefox和opera可能会不支持shtml文件,可以在httpd.conf文件中找到"AddType text/html .shtml","AddOutputFilter INCLUDES .shtml",分别去掉前面的"#"即可。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

thinkphp htmls.php,ThinkPHP静态缓存简单配置和使用方法详解相关推荐

  1. java spring mvc 上传_Java Spring MVC 上传下载文件配置及controller方法详解

    下载: 1.在spring-mvc中配置(用于100M以下的文件下载) 下载文件代码 @RequestMapping("/file/{name.rp}") public Respo ...

  2. 虚拟机2012搭建DNS服务器,Windows Server2012 安装配置DNS服务器方法详解

    Windows Server2012 安装配置DNS服务器方法详解 在云服务器 Windows Server2012 上安装配置DNS服务器方法,安装与配置非常简单,在这里写个完整教程方便大家查询 一 ...

  3. Win7下SQLite安装配置与使用方法详解

    Win7下SQLite安装配置与使用方法详解 2014-10-08    分类:数据库.编程开发.首页精华2人评论     来源:aehyok 分享到:更多1 前言 SQLite 是一个软件库,实现了 ...

  4. linux系统6.5详解,linux6.5下 简单配置 MINI 系统实现详解(1)

    一.linux系统启动流程介绍 我们来了解下linux系统的启动流程: 首先linux要通过POST自检过程(BIOS)-->如果想要做多块启动盘的话,还需要在bios中选择启动磁盘--> ...

  5. g++ 编译mysql动态库_Linux下g++编译以及使用静态库和动态库的方法详解

    下面小编就为大家带来一篇Linux下g++编译与使用静态库和动态库的方法.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 在windows环境下,我们通常在IDE如VS的 ...

  6. 服务器需要指定dns吗,Windows Server2012 安装配置DNS服务器方法详解

    在云服务器 Windows Server2012 上安装配置DNS服务器方法,安装与配置非常简单,在这里写个完整教程方便大家查询 一.安装DNS服务器 1.打开服务器管理器,点击添加角色和功能 2.一 ...

  7. java文件下载controller_Java Spring MVC 上传下载文件配置及controller方法详解

    下载: 1.在spring-mvc中配置(用于100M以下的文件下载) 下载文件代码 @RequestMapping("/file/{name.rp}") public Respo ...

  8. Spring集成Mybatis配置映射文件方法详解

    Spring ORM模块集成Mybatis使用到了mybatis-spring,在配置mybatis映射文件的时候,一般不直接在Mybatis的配置文件里进行配置,而会在Spring的配置文件里使用M ...

  9. JAVA 静态变量,静态方法,main方法详解(韩顺平)

    目录 一.类变量 1.类变量的引入 2.类变量的定义 3.类变量的特点 4.如何定义类变量 5.如何访问类变量 6.类变量使用细节 二.类方法 1.基本介绍 2.定义类方法 3.类方法的访问 4.类方 ...

最新文章

  1. iOS开发UI篇—transframe属性(形变)
  2. [转]关于重定向RedirectAttributes的用法
  3. react native 从头开始
  4. Hbase Region in transition (RIT) 异常解决
  5. ActivityManager kill reason
  6. 自动轮播本地图片触摸暂停轮播
  7. java组合语法_JAVA复用类之组合语法的使用(附源码)
  8. 借贷记账法下的账户对应关系_会计实操借贷记账法记账规则——会计干货来了快记啊!...
  9. sql t-sql_增强的PolyBase SQL 2019-使用t-SQL的外部表
  10. 12864液晶中文资料JHD529m1
  11. installshield java_项目创建失败(vs2012中的InstallShield)
  12. EasyClick 易点云测
  13. Java 导出 PDF之固定模板导出
  14. Vue+SpringBoot打造房屋租售信息系统
  15. 播放器只有图像没有声音的解决方案
  16. c++ const 转非const
  17. 说说Java代理模式
  18. Commander入门
  19. echarts字变大_EChart 文字大小调整 饼状图为例
  20. UGUI内核大探究(十六)InputField

热门文章

  1. 从零(0)开始计数与从 1 开始计数
  2. 域名与DNS(域名解析服务器)
  3. matlab 高级函数 —— ind2sub、kron
  4. SQOOP --hive-import 错误(Sqoop Hive exited with status 1)及解决
  5. python3 循环获取checkbutton_Python3 tkinter基础 Menu add_checkbutton 多选的下拉菜单
  6. python自动化测试-python能够做软件的自动化测试吗?
  7. python工资一般多少p-Python里的黄金库,学会了你的工资至少翻一倍
  8. python用什么软件编程-python用什么软件编写
  9. python办公自动化案例-Python实战:自动化办公:Python 自动整理 Excel 表格
  10. 分享 | 开源的中文语音识别系统