Thinkphp实现站点静态化的方法详解


Posted in PHP onMarch 21, 2017

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

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

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

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

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

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文件夹必须清空

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
在字符串中把网址改成超级链接
Oct 09 PHP
PHP6 先修班 JSON实例代码
Aug 23 PHP
查找php配置文件php.ini所在路径的二种方法
May 26 PHP
php通过Chianz.com获取IP地址与地区的方法
Jan 14 PHP
新浪SAE搭建PHP项目教程
Jan 28 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
Sep 23 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
YII使用url组件美化管理的方法
Dec 28 PHP
基于PHP实现商品成交时发送短信功能
May 11 PHP
php实现学生管理系统
Mar 21 PHP
PHP判断数组是否为空的常用方法(五种方法)
Feb 08 PHP
PHP实现的数据对象映射模式详解
Mar 20 PHP
php登录超时检测功能实例详解
Mar 21 #PHP
php base64 编码与解码实例代码
Mar 21 #PHP
详解PHP中的序列化、反序列化操作
Mar 21 #PHP
php实现文件管理与基础功能操作
Mar 21 #PHP
THINKPHP截取中文字符串函数实例代码
Mar 20 #PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
Mar 19 #PHP
php中通过eval实现字符串格式的计算公式
Mar 18 #PHP
You might like
利用谷歌 Translate API制作自己的翻译脚本
2014/06/04 PHP
/etc/php-fpm.d/www.conf 配置注意事项
2017/02/04 PHP
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
一次因composer错误使用引发的问题与解决
2019/03/06 PHP
PHP 实现文件压缩解压操作的方法
2019/06/14 PHP
JS获取url链接字符串 location.href
2013/12/23 Javascript
浅谈JavaScript中null和undefined
2015/07/09 Javascript
JS传递对象数组为参数给后端,后端获取的实例代码
2016/06/28 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
详解使用路由延迟加载 Angular 模块
2017/10/12 Javascript
AngularJS实现的简单拖拽功能示例
2018/01/02 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
详解性能更优越的小程序图片懒加载方式
2018/07/18 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
2019/03/12 Javascript
微信小程序实现人脸识别登陆的示例代码
2019/04/02 Javascript
微信小程序开发中var that =this的用法详解
2020/01/18 Javascript
JavaScript, select标签元素左右移动功能实现
2020/05/14 Javascript
解决vue-cli输入命令vue ui没效果的问题
2020/11/17 Javascript
[01:19:33]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第一场 2月2日
2021/03/11 DOTA
Python中使用PDB库调试程序
2015/04/05 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
2018/03/15 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
python for循环输入一个矩阵的实例
2018/11/14 Python
Django时区详解
2019/07/24 Python
python生成随机红包的实例写法
2019/09/02 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
一套C#面试题
2013/10/09 面试题
电大毕业生自我鉴定
2013/11/10 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
2014民事授权委托书范本
2014/09/29 职场文书
党支部先进事迹材料
2014/12/24 职场文书
毕业生个人自荐书
2015/03/05 职场文书
交通事故调解协议书
2015/05/20 职场文书
政工师工作总结2015
2015/05/26 职场文书
python如何将mat文件转为png
2022/07/15 Python