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 array_map array_multisort 高效处理多维数组排序
Jun 11 PHP
php无限分类且支持输出树状图的详细介绍
Jun 19 PHP
PHP 使用MySQL管理Session的回调函数详解
Jun 21 PHP
AJAX的跨域访问-两种有效的解决方法介绍
Jun 22 PHP
PHP面向对象之旅:深入理解static变量与方法
Jan 06 PHP
php递归遍历多维数组的方法
Apr 18 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
Dec 31 PHP
php时间计算相关问题小结
May 09 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
May 18 PHP
Yii2框架中日志的使用方法分析
May 22 PHP
PHP中PDO事务处理操作示例
May 02 PHP
php实现的表单验证类完整示例
Aug 13 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
模仿OSO的论坛(三)
2006/10/09 PHP
生成静态页面的PHP类
2006/11/25 PHP
php出现Cannot modify header information问题的解决方法大全
2008/04/09 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
zTree插件之多选下拉菜单实例代码
2013/11/06 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
在一个页面重复使用一个js函数的方法详解
2016/12/26 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
Vue动态组件实例解析
2017/08/20 Javascript
Vue 菜单栏点击切换单个class(高亮)的方法
2018/08/22 Javascript
解决Layui当中的导航条动态添加后渲染失败的问题
2019/09/25 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
[55:32]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第二场
2018/04/05 DOTA
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
详解Python实现多进程异步事件驱动引擎
2017/08/25 Python
linecache模块加载和缓存文件内容详解
2018/01/11 Python
Python实现找出数组中第2大数字的方法示例
2018/03/26 Python
python爬虫 使用真实浏览器打开网页的两种方法总结
2018/04/21 Python
通过python实现弹窗广告拦截过程详解
2019/07/10 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
struct和class的区别
2015/11/20 面试题
线程同步的方法
2016/11/23 面试题
平面设计师工作职责范文
2013/12/03 职场文书
企业环保标语
2014/06/10 职场文书
技术股份合作协议书
2014/10/05 职场文书
2014年党委工作总结
2014/11/22 职场文书
教育教学读书笔记
2015/07/02 职场文书
2016先进工作者事迹材料
2016/02/25 职场文书
分享mysql的current_timestamp小坑及解决
2021/11/27 MySQL