采用thinkphp自带方法生成静态html文件详解


Posted in PHP onJune 13, 2014

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文件夹必须清空。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
一个PHP日历程序
Dec 06 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
Oct 08 PHP
PHP得到mssql的存储过程的输出参数功能实现
Nov 23 PHP
php快递单号查询接口使用示例
May 05 PHP
smarty中js的调用方法示例
Oct 27 PHP
浅析php单例模式
Nov 25 PHP
php微信支付之APP支付方法
Mar 04 PHP
php文件缓存类用法实例分析
Apr 22 PHP
Zend Framework基本页面布局分析
Mar 19 PHP
ThinkPHP中where()使用方法详解
Apr 19 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
May 13 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
Aug 24 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
Jun 13 #PHP
Yii结合CKEditor实现图片上传功能
Jun 13 #PHP
在Yii框架中使用PHP模板引擎Twig的例子
Jun 13 #PHP
ThinkPHP中U方法的使用浅析
Jun 13 #PHP
PHP实现单例模式最安全的做法
Jun 13 #PHP
PHP5.5和之前的版本empty函数的不同之处
Jun 13 #PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
Jun 13 #PHP
You might like
ThinkPHP的模版中调用session数据的方法
2014/07/01 PHP
PHP中call_user_func_array回调函数的用法示例
2016/11/26 PHP
jQuery分组选择器用法实例
2014/12/23 Javascript
触屏中的JavaScript事件分析
2015/02/06 Javascript
jQuery实现的仿select功能代码
2015/08/19 Javascript
javascript新闻跑马灯实例代码
2020/07/29 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
浅析BootStrap中Modal(模态框)使用心得
2016/12/24 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
vue父子组件的嵌套的示例代码
2017/09/08 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
jquery实现商品sku多属性选择功能(商品详情页)
2019/12/20 jQuery
纯js+css实现仿移动端淘宝网站的弹出详情框功能
2019/12/29 Javascript
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
Python实现竖排打印传单手机号码易撕条
2015/03/16 Python
浅析Python基础-流程控制
2016/03/18 Python
python递归打印某个目录的内容(实例讲解)
2017/08/30 Python
用python简单实现mysql数据同步到ElasticSearch的教程
2018/05/30 Python
tensorflow 获取变量&打印权值的实例讲解
2018/06/14 Python
python实现简单多人聊天室
2018/12/11 Python
Python生成rsa密钥对操作示例
2019/04/26 Python
关于pytorch多GPU训练实例与性能对比分析
2019/08/19 Python
python迭代器常见用法实例分析
2019/11/22 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
C#如何进行LDAP用户校验
2012/11/21 面试题
大学生毕业自荐信
2013/10/10 职场文书
力学专业毕业生自荐信
2013/11/17 职场文书
高一历史教学反思
2014/01/13 职场文书
《春雨》教学反思
2014/04/24 职场文书
护士年终个人总结
2015/02/13 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
企业宣传稿范文
2015/07/23 职场文书
5种方法告诉你如何使JavaScript 代码库更干净
2021/09/15 Javascript
SpringBoot详解执行过程
2022/07/15 Java/Android