/**
* 创建静态页面
* @access protected
* @htmlfile 生成的静态文件名称
* @htmlpath 生成的静态文件路径
* @param string $templateFile 指定要调用的模板文件
* 默认为空 由系统自动定位模板文件
* @return string
*
*/
private function buildHtml($htmlfile = '', $htmlpath = '', $templateFile = '')
{
$content = $this->fetch($templateFile);
$htmlfile = $htmlpath . $htmlfile;
$File = new \think\template\driver\File();
$File->write($htmlfile, $content);
return $content;
}
在首页控制器index方法中做一个判断,有静态文件就展示,没有静态文件重新生成
if(file_exists(HTML_PATH.'index.htm')){//file_exists检查文件是否存在 if(time()-filemtime(HTML_PATH.'realindex.html')<=600)//filemtime() 函数返回文件内容上次的修改时间。
return $this->fetch(HTML_PATH."index.htm");
}else{
return $this->createIndex();//调用(将首页生成为一个静态页面)的函数
}
在createIndex方法中,请求数据,创建调用buildHtml方法创建静态文件,展示页面,在tp
中展示页面用fetch方法,如果是tp3中可以使用display方法。
网友评论