MICUU
微资讯
声卡
创新2024全套教程
5.1声卡全套
创新声卡驱动
板载声卡调试全套教程
Sam机架安装
Sam机架
音效助手
专题
文档
技术文档汇总
站内文档
更多
软件
更新日志
关于
装机必备
Gramos模板
光年后台模板
Betube模板
美图
友情链接
站内导航
关于
搜索
退出登录
登录
原创
thinkphp6.0全局页面静态化处理办法tp 生成静态html
2021-03-24
57.29w热度
页面静态化,以前也有想过,但是觉得没什么必要!这次接到的单子用户要求页面全局静态化,没办法,只有自己研究一下了,经过百度已经bing搜索总结了一下,觉得这个方案简单可行,拿去分享给大家。 ## 思路: 1:确定静态页面的页面路径 如我的是按照 {$controller}{$page}_{$action}{$id}.html 2:在每个方法访问前判断静态页面是否存在,并且没有超过缓存,如果满足则跳转到静态页面对应的文件网址如: https://ahjj.micuer.com/html/Index_tutor.html 3:写入文件 view()->getContent()可以获取模板HTML内容 ``` file_put_contents("./html/{$controller}{$page}_{$action}{$id}.html", view()->getContent()); ``` 既然有了思路那么我们就开始整理吧,我的是tp6.0,支持中间件,所以就免去了每个方法判断的麻烦处理了,直接中间件搞定。统一在每个请求前加个中间件,在每个请求后加个中间件完事。 前置中间件 ``` 文件路径位于:app/middleware <?php /** * Created by PhpStorm. * User: Administrator * Date: 2020/12/23 * Time: 15:10 * micuer.com 承接小程序,网页,app,h5等开发 */ namespace app\middleware; class Before { public function handle($request, \Closure $next) { // 添加中间件执行代码 $controller = \request()->controller(); $action = \request()->action(); $id = \request()->param("id","","trim"); $page = \request()->param("page","","trim"); try { $file_time = filemtime("./html/{$controller}{$page}_{$action}{$id}.html"); if((time() - $file_time) <= 60){ $url = (string)\request()->domain()."/html/{$controller}{$page}_{$action}{$id}.html"; header("Location: {$url}"); return redirect($url); } }catch (\Exception $exception){ } return $next($request); } } ``` 后置中间件 ``` <?php /** * Created by PhpStorm. * User: Administrator * Date: 2020/12/23 * Time: 15:10 * micuer.com 承接小程序,网页,app,h5等开发 */ namespace app\middleware; class After { public function handle($request, \Closure $next) { $response = $next($request); // 添加中间件执行代码 $controller = \request()->controller(); $action = \request()->action(); $id = \request()->param("id","","trim"); $page = \request()->param("page","","trim"); file_put_contents("./html/{$controller}{$page}_{$action}{$id}.html", view()->getContent()); $url = (string)\request()->domain()."/html/{$controller}{$page}_{$action}{$id}.html"; header("Location: {$url}"); return $response; } } ``` 这样一来就完成了html的保存和自动跳转功能了。
注:原创不易,转载请注明出处(
https://micuu.com/new/1495.html
),本站所有资源来源于网络收集,如有侵权请联系QQ245557979进行清除。
最后修改与 2022-02-21
上一篇:
js判断checkbox是否选中
下一篇:
linux解压及压缩命令zip
留言反馈
请先登录
问题反馈渠道,如有软件无法下载或者其他问题可反馈。【由于某种原因,目前留言不展示】
用户需要登录后才能留言反馈
立即留言
珍藏视频
10分钟高效燃脂
30天高效瘦脸操
5分钟缓解颈椎操
友人
微博
全民K歌
唱吧
今日头条
悠悠网
科技小锅盖
彼岸桌面
阮一峰
laravel社区
V2ex
掘金
更多>