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 相关文章推荐
php Undefined index的问题
Jun 01 PHP
php将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
PHP目录函数实现创建、读取目录教程实例
Jan 13 PHP
PHP性能优化准备篇图解PEAR安装
Dec 05 PHP
使用HMAC-SHA1签名方法详解
Jun 26 PHP
浅析php面向对象public private protected 访问修饰符
Jun 30 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
Feb 18 PHP
php使用codebase生成随机数
Mar 25 PHP
php中用memcached实现页面防刷新功能
Aug 19 PHP
php判断文件夹是否存在不存在则创建
Apr 09 PHP
php 修改上传文件大小限制实例详解
Oct 23 PHP
Laravel如何实现自动加载类
Oct 14 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
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
PHP中new static()与new self()的比较
2016/08/19 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
php中如何执行linux命令详解
2018/11/06 PHP
PHP小程序支付功能完整版【基于thinkPHP】
2019/03/26 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
PHP程序员必须知道的两种日志实例分析
2020/05/14 PHP
JavaScript 学习小结(适合新手参考)
2009/07/30 Javascript
浅谈JavaScript函数参数的可修改性问题
2013/12/05 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
2014/08/15 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
jQuery基本选择器之标签名选择器
2016/09/03 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
JavaScript中浅讲ajax图文详解
2016/11/11 Javascript
Vue.js组件tree实现无限级树形菜单
2016/12/02 Javascript
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
2018/11/29 Javascript
微信小程序开发常见问题及解决方案
2019/07/11 Javascript
小程序调用微信支付的方法
2019/09/26 Javascript
JS替换字符串中指定位置的字符(多种方法)
2020/05/28 Javascript
解决vue的touchStart事件及click事件冲突问题
2020/07/21 Javascript
Python3搜索及替换文件中文本的方法
2015/05/22 Python
如何使用Python实现斐波那契数列
2019/07/02 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
行政经理岗位职责
2013/11/09 职场文书
《九色鹿》教学反思
2014/02/27 职场文书
药店采购员岗位职责
2014/09/30 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
好好学习保证书
2015/02/26 职场文书
python 闭包函数详细介绍
2022/04/19 Python
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python