thinkphp5怎么实现全站静态化啊?
thinkphp5怎么实现全站静态化啊?老师能给个方法吗?在每个控制器的初始化方法里边进行吗??
thinkphp5怎么实现全站静态化啊?老师能给个方法吗?在每个控制器的初始化方法里边进行吗??
2018-02-11
/** * 模板输出重写方法 * @access protected * @param boolean $isStatic 是否保存为静态文件 * @param string $template 模板文件名 * @param array $vars 模板输出变量 * @param array $replace 模板替换 * @param array $config 模板参数 * @return mixed */ private function staticFetch($isStatic=false,$template = '', $vars = [], $replace = [], $config = []) { $HTML = $this->fetch($template, $vars, $replace, $config);//获得页面HTML代码 if ($isStatic){//判断是否需要保存为静态页 $thisModule=request()->module();//获取模块 $thisController=request()->controller();//获取控制器 $thisAction=request()->action();//获取方法 $new_file = "{$thisModule}/{$thisController}"; if(!file_exists($new_file)){ //检查是否有该文件夹,如果没有就创建,并给予最高权限 mkdir($new_file, 0777,true); } $new_file.="/{$thisAction}.".config('default_return_type'); file_put_contents($new_file,$HTML);//生成静态页 } return $HTML; }
举报