博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThinkPHP的静态化页面方法
阅读量:6968 次
发布时间:2019-06-27

本文共 1398 字,大约阅读时间需要 4 分钟。

原来ThinkPHP自带了生成静态页的函数buildHtml,使用起来很方便!最新的手册里没写这个方法,向大家介绍一下。

    

    protected function buildHtml($htmlfile='',$htmlpath='',$templateFile='') {        $content = $this->fetch($templateFile);        $htmlpath   = !empty($htmlpath)?$htmlpath:HTML_PATH;        $htmlfile =  $htmlpath.$htmlfile.C('HTML_FILE_SUFFIX');        if(!is_dir(dirname($htmlfile)))            // 如果静态目录不存在 则创建            mk_dir(dirname($htmlfile));        if(false === file_put_contents($htmlfile,$content))            throw_exception(L('_CACHE_WRITE_ERROR_').':'.$htmlfile);        return $content;    }

使用方法:

$this->buildHtml('静态文件', '静态路径','模板文件');

参数一:静态文件,是指生成后的静态文件名,文件保存路径完整的就是:静态路径/静态文件。例如静态文件设置a/index.那么保存的路径就是项

目路径/Html/a/index.html(默认的静态路径在项目路径的Html文件夹下,没有可以自己创建)

参数二:静态路径,上面已经说明了默认的路径,3.0中可以在入口文件里加入参数来更改静态路径。

define(‘HTML_PATH’, ‘./’);(将静态路径义为网站根目录)

参数三:模板文件,我感觉官方这个描述是不正确的,准确的来说应该是目标模块,就是需要生成静态文件的模块。格式:模块名:操作。比如要生成Index下的a方法为静态文件,那就是Index:a。如果为空则默认生成当前操作的静态文件。

生成静态页,我们要选择一个静态模板页,静态化网页的原理也就是替换模板中的变量,所以我们要把需要替换的变量的值获取出来,比如

$this->assign ( 'webname', $websites ['name'] );$this->assign ( 'siteid', $siteid );$this->assign ( 'type', $type );$this->assign ( 'header', $websites ['templatedirectory'] . '@Public_header' );$this->assign ( 'footer', $websites ['templatedirectory'] . '@Public_footer' );

静态模板页有相应的{$header},{$footer}等,使用buildHtml方法后,就把这些变量给替换掉了。是不是很简单。

转载于:https://www.cnblogs.com/wenhainan/p/5356930.html

你可能感兴趣的文章
2017百度AI开发者大会 一场5000名开发者的分享盛宴
查看>>
野心外漏?Windows Defender或将独霸杀毒软件市场?
查看>>
重庆“90后”双胞胎“动妹” 守护春运回家路
查看>>
电影《蓝色生死恋》将上映 保留原版经典片段
查看>>
“中华龙乡”重庆铜梁举办首届中华龙灯艺术节
查看>>
探访广铁深圳“父女搭档”乘警出勤风采
查看>>
6月Python热文Top10,精选自1000篇文章
查看>>
Vue 折腾记 - (12) Nuxt.js写一个校验访问浏览器设备类型及环境的中间件
查看>>
使用 React 全家桶搭建一个后台管理系统
查看>>
腾讯云容器团队内部Istio专题分享
查看>>
当我说要做大数据工程师时他们都笑我,直到三个月后……
查看>>
【数据科学系统学习】Python # 数据分析基本操作[二] pandas
查看>>
第一批95后已经是阿里科学家了
查看>>
第七章: ansible故障排查
查看>>
everything is object
查看>>
Android中的设计模式之单例模式
查看>>
webpack核心概念
查看>>
Vue 兼容 ie9 的全面解决方案
查看>>
移动端总结
查看>>
认识Arduino,开始嵌入式之旅
查看>>