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

相关推荐
墨云安全3 小时前
内网资产无法暴露到公网,怎么做安全检测?2026 年内网渗透测试的落地路径
开发语言·安全·网络安全·渗透测试·php
我是唐青枫5 小时前
Yii2 Applications 详解:应用生命周期、组件配置与多入口实战
php
kimnoic6 小时前
PHP 8.2的DNF类型怎么用才规范
开发语言·php
中屹指纹浏览器svip7 小时前
打开账号环境网页报错,常见原因有哪些?
服务器·开发语言·php·中屹指纹浏览器
修船大队长10 小时前
CanNm 从休眠唤醒后重复消息报文的周期与数量分析
开发语言·php
垆边人似月.10 小时前
华为题:LRU 缓存
缓存·华为
李纲明10 小时前
WordPress 安全加固基线:更新策略、文件权限、登录面收缩和备份验证(含回滚注意)
运维·安全·php·wordpress
Novproxy_Z10 小时前
IPv4 与 IPv6 代理在跨境自动化场景下的选型与风险
运维·自动化·php
泡海椒11 小时前
JQuickExcel 大文件排障与调优:从实际路径定位 OOM、临时盘和慢任务
开发语言·数据库·缓存·oracle·excel
kimnoic11 小时前
PHP 8.3 数据库备份失败怎么排查
开发语言·php