thinkphp如何配置模版缓存,来显著提高页面加载速度

  1. 模板编译缓存(Template Compilation Cache)
    本质:将模板文件(如 .html)转换成 PHP 可执行代码并缓存起来。

执行流程:

c 复制代码
用户请求 → 解析模板文件 → 编译成PHP代码 → 执行PHP代码 → 生成最终HTML → 返回给用户
                                  ↓
                             编译缓存文件
                            (下次直接执行)

特点:

缓存的是编译后的PHP代码,而不是最终的HTML内容

保存在 runtime/temp 目录下(TP5.1默认位置)

每次请求仍然要执行PHP逻辑(数据库查询、业务计算等)

主要是为了避免重复解析模板语法(如 {$user.name}、{volist} 等)

修改了模板文件后,模板缓存会自动刷新,开发起来也方便

开启后会显著提高模版页面的响应速度,同时不影响页面数据的动态展示

tp5.0配置方法

application -> config.php ->template 数组添加一个属性 'tpl_cache' => true

php 复制代码
 'template'               => [
        // 开启模板编译缓存
        'tpl_cache' => true,

		// 模板引擎类型 支持 php think 支持扩展
        'type'         => 'Think',
        // 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写
        'auto_rule'    => 1,
        // 模板路径
        'view_path'    => '',
        // 模板后缀
        'view_suffix'  => 'html',
        // 模板文件名分隔符
        'view_depr'    => DS,
        // 模板引擎普通标签开始标记
        'tpl_begin'    => '{',
        // 模板引擎普通标签结束标记
        'tpl_end'      => '}',
        // 标签库标签开始标记
        'taglib_begin' => '{',
        // 标签库标签结束标记
        'taglib_end'   => '}',
    ],

tp5.1配置方法

application -> config ->template.php 数组添加一个属性 'tpl_cache' => true

php 复制代码
<?php
// +----------------------------------------------------------------------
// | 模板设置
// +----------------------------------------------------------------------

return [
	// 开启模板编译缓存
    'tpl_cache'    => true, // 设为 false 即可关闭缓存

    // 模板引擎类型 支持 php think 支持扩展
    'type'         => 'Think',
    // 视图路径
    'view_path'    => '',
    // 模板后缀
    'view_suffix'  => 'html',
    // 模板文件名分隔符
    'view_depr'    => DIRECTORY_SEPARATOR,
    // 模板引擎普通标签开始标记
    'tpl_begin'    => '{',
    // 模板引擎普通标签结束标记
    'tpl_end'      => '}',
    // 标签库标签开始标记
    'taglib_begin' => '{',
    // 标签库标签结束标记
    'taglib_end'   => '}',

    
];

免费在线工具网站 https://mantools.top

相关推荐
jwn9992 小时前
Laravel6.x核心特性全解析
开发语言·php·laravel
星辰徐哥3 小时前
5G的行业应用:工业互联网、车联网、智慧医疗中的网络支撑
网络·5g·php
不知名的老吴3 小时前
Redis的延迟瓶颈:TCP栈开销无法避免
数据库·redis·缓存
三道渊4 小时前
进程通信与网络协议
开发语言·数据库·php
流觞 无依4 小时前
DedeCMS plus/download.php SQL注入漏洞修复教程
sql·php
Freak嵌入式5 小时前
MicroPython LVGL基础知识和概念:显示与多屏管理
开发语言·python·github·php·gui·lvgl·micropython
杰克尼5 小时前
redis(day03-商户查询缓存)
数据库·redis·缓存
刘~浪地球5 小时前
Redis 从入门到精通(十三):哨兵与集群
数据库·redis·缓存
Freak嵌入式5 小时前
MicroPython LVGL基础知识和概念:时序与动态效果
开发语言·python·github·php·gui·lvgl·micropython
一个有温度的技术博主6 小时前
Lua语法详解:从变量声明到循环遍历的避坑指南
redis·缓存·lua