让thinkphp5不缓存编译模版 转

转自https://blog.csdn.net/qq_40624496/article/details/80791203

在config.php文件的模版配置里面添加一个cache_tpl的配置。

'template'               => [
// 是否缓存编译好的模版
'cache_tpl'    => false,
// 模板引擎类型 支持 php think 支持扩展
'type'         => 'Think',
// 模板路径
'view_path'    => '',
// 模板后缀
'view_suffix'  => 'html',
// 模板文件名分隔符
'view_depr'    => DS,
// 模板引擎普通标签开始标记
'tpl_begin'    => '{',
// 模板引擎普通标签结束标记
'tpl_end'      => '}',
// 标签库标签开始标记
'taglib_begin' => '{',
// 标签库标签结束标记
'taglib_end'   => '}',
],
当然设置cache_tpl => false时系统不缓存编译好的模版文件,反之则缓存。

然后再修改thinkphp->library->think文件夹下的Template.php文件的fetch函数中的

if (!$this->checkCache($cacheFile)) {
// 缓存无效 重新模板编译
$content = file_get_contents($template);
$this->compiler($content, $cacheFile);
}
改为

if (!$this->checkCache($cacheFile) || !Config::get('template')['cache_tpl']) {
// 缓存无效 重新模板编译
$content = file_get_contents($template);
$this->compiler($content, $cacheFile);
}
至此系统缓不缓存模版就可以通过config.php文件控制了。

点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注