为了账号安全,请及时绑定邮箱和手机立即绑定

thinkphp5怎么实现全站静态化啊?

thinkphp5怎么实现全站静态化啊?老师能给个方法吗?在每个控制器的初始化方法里边进行吗??

正在回答

2 回答

/**
 * 模板输出重写方法
 * @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;
}


0 回复 有任何疑惑可以回复我~

thinkphp 里面有s方法,你看看,或许对你有帮助呢

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP实现页面静态化
  • 参与学习       55588    人
  • 解答问题       115    个

网站开发必备技能—页面静态化,帮助大家掌握一项加薪利器

进入课程

thinkphp5怎么实现全站静态化啊?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信