在TP5中静态缓存实现

浏览:10653 最后更新:2020-05-07 16:50 分类:行为 关键字: TP5静态缓存
3.2里其实也是通过行为扩展的方式实现的,只不过他在框架里把这个扩展做好了,在TP5里我没有发现,于是我就把3.2里的代码找了出来,改造了一下,测试可用
其实就是通过两个行为扩展实现的,
// 模块初始化
'module_init' => ['app\\common\\behavior\\ReadHtmlCacheBehavior'],// 读取静态缓存
// 操作开始执行
'action_begin' => [],
// 视图内容过滤
'view_filter' => ['app\\common\\behavior\\WriteHtmlCacheBehavior'],// 写入静态缓存
静态规则定义:
'HTML_CACHE_ON' => true, // 开启静态缓存
'HTML_CACHE_TIME' => 60, // 全局静态缓存有效期(秒)
'HTML_FILE_SUFFIX' => '.shtml', // 设置静态缓存文件后缀
'HTML_CACHE_RULES' => array( // 定义静态缓存规则
// 定义格式1 数组方式
'静态地址' => array('静态规则', '有效期', '附加规则'),
// 定义格式2 字符串方式
'静态地址' => '静态规则',
)
这个和3.2的基本一致,唯一的区别就是,如这样的规则
'read'=>array('{id}',60)
在3.2里这个id提取的是$_GET['id'],而现在的提取的是Request::instance()->param('id');
如果需要用$_GET['id'],需要写成$_GET.id

其他一切和3.2兼容

缓存的类型是根据cache的配置决定的,所以可以通过刷新缓存来刷新此静态缓存。


评论( 相关
后面还有条评论,点击查看>>