PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

thinkphp5如何生成静态html文件

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼 原创
2019-08-23 10:28:31 7292浏览

thinkphp本身自带了一个有效的生成静态页的方法,(该方法在tp2.0的手册上有说明,3.0的手册上没有说明了,不过3.0方法还是存在的。)

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

稍微说明下参数,有些朋友问我这个参数和具体如何使用。

参数一:静态文件,是指生成后的静态文件名,文件保存路径完整的就是:静态路径/静态文件。例如静态文件设置a/index.那么保存的路径就是项目路径/Html/a/index.html(默认的静态路径在项目路径的Html文件夹下,没有可以自己创建)

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

相关推荐:《ThinkPHP教程

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

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

例子:

代码如下:

class IndexAction extends Action {
    public function index(){
    $this->buildHtml("index",'',"");
    $this -> display();
    }
}

其实

代码如下:

$this->buildHtml("index",'',"");

代码如下:

$this->buildHtml("index",'',"Index:index");

代码如下:

$this->buildHtml("index",'',"index");

这样三个格式是等效的,可以在当前模块下加入语句,那么只要运行该模块就会产生指定的目录下的"模块.html"文件,通常的做法就是站点建设好以后,专门写一个方法,然后让其执行,使整个站点一次性生成静态文件。

注意:如果站点有编辑或调整那么必须清理缓存一次,就是项目下的Runtime文件夹必须清空。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。