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

相关推荐
可涵不会debug39 分钟前
PHP2Shell 爆发一周后:CVE-2026-109618/109619 自查、修复与防护实录
安全·php·云安全·waf·phpshell
一支蜉蝣1 小时前
Day26 XD安全学习笔记--PHP 应用&模版引用&Smarty渲染&MVC 模型&数据联动&RCE 安全
笔记·网络安全·html·php
vipxieliang2 小时前
PHP 中的设计模式:工厂模式与单例
php
真上帝的左手2 小时前
30. 技术专题-‌应用框架组件-缓存-Redis
数据库·redis·分布式·缓存·中间件
vipxieliang2 小时前
ThinkPHP 8.0 注解路由实战:PHP 8 原生 Attribute 方案
php·thinkphp
bksczm2 小时前
C++Redis开发(Ubuntu 22.04)
数据库·redis·缓存
goehou3 小时前
缓存该删还是该改,LLM 服务里的双写问题
redis·缓存·llm·一致性·系统设计
evoxwht3 小时前
给 CRMEB v8 商品中台加一个「课程」商品类型
php
evoxwht3 小时前
给 CRMEB V8 给 MCP 服务加一个分销工具
php
利威尔xu14 小时前
Go IM 源码实战(14):本地缓存快 3000 倍,失效却难 10 倍
后端·缓存·微服务·面试·golang