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

相关推荐
REDcker19 分钟前
Linux信号机制详解 POSIX语义与内核要点 sigaction与备用栈实践
linux·运维·php
REDcker2 小时前
浏览器端Web程序性能分析与优化实战 DevTools指标与工程清单
开发语言·前端·javascript·vue·ecmascript·php·js
云云只是个程序马喽5 小时前
AI漫剧创作系统开发定制指南
人工智能·小程序·php
卧室小白7 小时前
Redis-哨兵模式
数据库·redis·缓存
卧室小白8 小时前
redis-配置
数据库·redis·缓存
Lyyaoo.13 小时前
缓存更新策略
缓存
AI进化营-智能译站14 小时前
ROS2 C++开发系列08-传感器数据缓存与指令解析方式之数组、向量与字符串实战
开发语言·c++·缓存·ai
许彰午14 小时前
CacheSQL(一):手写数据库的工程化重生
java·数据库·缓存
aXin_ya14 小时前
微服务第九天 分布式缓存(Redis)
分布式·缓存·微服务
代码飞天14 小时前
CTF之内存取证——瞬息万变成为一瞬
安全·web安全·缓存