基类中的生成前与生成后的方法
class Common extends BaseController
{
//静态模板生成目录
protected $staticHtmlDir = "";
//静态文件
protected $staticHtmlFile = "";
//判断是否存在静态
public function beforeBuild($param = []) {
//生成静态
$this->staticHtmlDir = "html".DS.$this->request->controller().DS;
//参数md5
$param = md5(json_encode($param));
$this->staticHtmlFile = $this->staticHtmlDir .$this->request->action() . '_' . $param .'.html';
//目录不存在,则创建
if(!file_exists($this->staticHtmlDir)){
mkdir($this->staticHtmlDir);
}
//静态文件存在,并且没有过期
if(file_exists($this->staticHtmlFile) && filectime($this->staticHtmlFile)>=time()-60*60*24*5) {
header("Location:/" . $this->staticHtmlFile);
exit();
}
}
//开始生成静态文件
public function afterBuild($html) {
if(!empty($this->staticHtmlFile) && !empty($html)) {
if(file_exists($this->staticHtmlFile)) {
\unlink($this->staticHtmlFile);
}
if(file_put_contents($this->staticHtmlFile,$html)) {
header("Location:/" . $this->staticHtmlFile);
exit();
}
}
}
}
控制器中的使用
public function getList($id = '')
{
//判断静态界面是否存在
$this->beforeBuild(array($id));
// do someing
$name = "测试静态化";
$html = View::fetch('/get_list',['name'=>$name]);
//生成静态界面
$this->afterBuild($html);
}
THE END
匿名
2025-12-13
大大可以找下哈狗的1030吗,太想要那首歌了~谢谢!
匿名
2025-11-09
https://collaigo.com 免费在线拼图工具
匿名
2025-10-22
盖楼盖楼!
匿名
2025-08-11
沙发沙发
匿名
2025-08-10
https://at.oiik.cn/bing.html
匿名
2025-02-21
实用,我在开发https://minmail.app/时候使用到了