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产生随机字符串函数
Dec 06 PHP
PHP 模板高级篇总结
Dec 21 PHP
在PHP中利用wsdl创建标准webservice的实现代码
Dec 07 PHP
PHP使用正则表达式清除超链接文本
Nov 12 PHP
php 根据url自动生成缩略图并处理高并发问题
Jan 23 PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 PHP
php实现zip文件解压操作
Nov 03 PHP
Yii2创建表单(ActiveForm)方法详解
Jul 23 PHP
php插件Xajax使用方法详解
Aug 31 PHP
PHP实现合并两个排序链表的方法
Jan 19 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
Apr 20 PHP
PHP连接MySQL数据库操作代码实例解析
Jul 11 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图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
jquery tab插件制作实现代码
2010/06/22 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
2013/11/26 Javascript
js图片实时加载提供网页打开速度
2014/09/11 Javascript
JS验证IP,子网掩码,网关和MAC的方法
2015/07/02 Javascript
jQuery过滤特殊字符及JS字符串转为数字
2016/05/26 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
2017/11/19 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
2017/12/07 Javascript
vue基于mint-ui实现城市选择三级联动
2020/06/30 Javascript
详解Vue打包优化之code spliting
2018/04/09 Javascript
Vue中使用vue-i18插件实现多语言切换功能
2018/04/25 Javascript
Javascript 之封装(Package)
2018/09/14 Javascript
JavaScript中七种流行的开源机器学习框架
2018/10/11 Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
2020/06/11 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
python如何通过twisted实现数据库异步插入
2018/03/20 Python
Python实现简单求解给定整数的质因数算法示例
2018/03/25 Python
Python实现二维数组输出为图片
2018/04/03 Python
PyCharm鼠标右键不显示Run unittest的解决方法
2018/11/30 Python
python 上下文管理器及自定义原理解析
2019/11/19 Python
TensorFlow tensor的拼接实例
2020/01/19 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
捷克时尚网上商店:OTTO
2018/03/15 全球购物
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
密封类可以有虚函数吗
2014/08/11 面试题
机关工会开展学习雷锋活动总结
2014/03/01 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
关于爱国的标语
2014/06/24 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python