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 相关文章推荐
分页显示Oracle数据库记录的类之一
Oct 09 PHP
PHP文件读写操作之文件读取方法详解
Jan 13 PHP
php中OR与|| AND与&&的区别总结
Oct 26 PHP
PHP上传图片进行等比缩放可增加水印功能
Jan 13 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
Nov 25 PHP
给ECShop添加最新评论
Jan 07 PHP
简单解决新浪SAE无法上传文件的问题
May 13 PHP
学习php设计模式 php实现享元模式(flyweight)
Dec 07 PHP
JavaScript实现删除电脑的关机键
Jul 26 PHP
PHP strcmp()和strcasecmp()的区别实例
Nov 05 PHP
PDO::_construct讲解
Jan 27 PHP
PHP读取文件或采集时解决中文乱码
Mar 09 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
set_include_path在win和linux下的区别
2008/01/10 PHP
PHP 网页过期时间的控制代码
2009/06/29 PHP
php 正则表达式小结
2009/08/31 PHP
php url路由入门实例
2014/04/23 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
php+Ajax处理xml与json格式数据的方法示例
2019/03/04 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
input+select(multiple) 实现下拉框输入值
2009/05/21 Javascript
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
javascript 四则运算精度修正函数代码
2010/05/31 Javascript
jquery 3D球状导航的文章分类
2010/07/06 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
js编写选项卡效果
2017/05/23 Javascript
动态创建Angular组件实现popup弹窗功能
2017/09/15 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
Vuex实现数据共享的方法
2019/12/20 Javascript
Vue数字输入框组件使用方法详解
2020/02/10 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
Python列表推导式的使用方法
2013/11/21 Python
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
深入理解python多进程编程
2016/06/12 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
Python处理Excel文件实例代码
2017/06/20 Python
对Python 数组的切片操作详解
2018/07/02 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
Python自动化办公Excel模块openpyxl原理及用法解析
2020/11/05 Python
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
巴西电子、家电、智能手机购物网站:Girafa
2019/06/04 全球购物
慕尼黑山地运动、户外服装和体育用品专家:Sporthaus Schuster
2019/08/27 全球购物
LightInTheBox法国站:中国跨境电商
2020/03/05 全球购物
3的组成教学反思
2014/04/30 职场文书
爱国主义演讲稿
2014/05/07 职场文书
党性心得体会
2014/09/03 职场文书
Python如何把不同类型数据的json序列化
2021/04/30 Python