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+MSSQL分页的例子
Oct 09 PHP
PHP简介
Oct 09 PHP
PHP中动态显示签名和ip原理
Mar 28 PHP
PHP字符串 ==比较运算符的副作用
Oct 21 PHP
使用PHP提取视频网站页面中的FLASH地址的代码
Apr 17 PHP
php顺序查找和二分查找示例
Mar 27 PHP
php自定义urlencode,urldecode函数实例
Mar 24 PHP
PHP模板引擎Smarty中变量的使用方法示例
Apr 11 PHP
Smarty简单生成表单元素的方法示例
May 23 PHP
2017年最新PHP经典面试题目汇总(上篇)
Mar 17 PHP
PHP实现的简单排列组合算法应用示例
Jun 20 PHP
workerman结合laravel开发在线聊天应用的示例代码
Oct 30 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
PHP函数addslashes和mysql_real_escape_string的区别
2014/04/22 PHP
ThinkPHP之foreach标签使用概述
2014/06/30 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
window.ActiveXObject使用说明
2010/11/08 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
jquery应该如何来设置改变按钮input的onclick事件
2012/12/10 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
Jquery中基本选择器用法实例详解
2015/05/18 Javascript
javascript瀑布流式图片懒加载实例
2020/06/28 Javascript
yarn的使用与升级Node.js的方法详解
2017/06/04 Javascript
javascript+html5+css3自定义弹出窗口效果
2017/10/26 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
2019/03/06 jQuery
vue-cli 3.x配置跨域代理的实现方法
2019/04/12 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
python根据文件大小打log日志
2014/10/09 Python
python安装以及IDE的配置教程
2015/04/29 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
[原创]pip和pygal的安装实例教程
2017/12/07 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
2018/08/31 Python
python实现微信小程序自动回复
2018/09/10 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
Java基础知识面试要点
2016/07/29 面试题
师范应届生语文教师求职信
2013/10/29 职场文书
蛋糕店创业计划书
2014/05/06 职场文书
国防教育标语
2014/10/08 职场文书
2014年财务工作总结与计划
2014/12/08 职场文书
飞越疯人院观后感
2015/06/09 职场文书
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL
python 实现两个变量值进行交换的n种操作
2021/06/02 Python
mysql配置SSL证书登录的实现
2021/09/04 MySQL
JS封装cavans多种滤镜组件
2022/02/15 Javascript