查看: 1677|回复: 0

[PHP学习] Thinkphp实现站点静态化的方法详解

发表于 2018-2-7 08:00:03

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

  1. $this->buildHtml('静态文件', '静态路径','模板文件');
复制代码

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

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

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

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

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

例子:

  1. class IndexAction extends Action {
  2. public function index(){
  3. $this->buildHtml("index",'',"");
  4. $this -> display();
  5. }
  6. }
复制代码

其实

  1. $this->buildHtml("index",'',"");
  2. $this->buildHtml("index",'',"Index:index");
  3. $this->buildHtml("index",'',"index");
复制代码

这样三个格式等效的

下面是静态化的实现,就两种方法

可以在当前模块下加如上述语句,那么只要运行该模块就会产生指定的目录下的"模块.html"文件,通常的做法就是站点建设好以后,专门写一个方法,然后让其执行,使整个站点一次性生成静态文件,注意:如果站点有编辑或调整那么必须清理缓存一次,就是项目下的Runtime文件夹必须清空

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持程序员之家。

您可能感兴趣的文章:

  • thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
  • 采用thinkphp自带方法生成静态html文件详解
  • thinkphp的静态缓存用法分析
  • ThinkPHP静态缓存简单配置和使用方法详解
  • ThinkPHP实现静态缓存和动态缓存示例代码
  • ThinkPHP 3.2.3实现页面静态化功能的方法详解


回复

使用道具 举报