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 zlib压缩和解压缩swf文件的代码
Dec 30 PHP
理解php Hash函数,增强密码安全
Feb 25 PHP
PHP 八种基本的数据类型小结
Jun 01 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
Jun 03 PHP
thinkphp获取栏目和文章当前位置的方法
Oct 29 PHP
PHP 读取和编写 XML
Nov 19 PHP
PHP生成不重复标识符的方法
Nov 21 PHP
PHP中each与list用法分析
Jan 08 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
Dec 27 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 PHP
php给数组赋值的实例方法
Sep 26 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 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中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
2013/07/03 PHP
Mac环境下php操作mysql数据库的方法分享
2015/05/11 PHP
微信支付之JSAPI公众号支付详解
2019/05/15 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
2019/10/03 PHP
PHP 代码简洁之道(小结)
2019/10/16 PHP
借用Google的Javascript API Loader来加速你的网站
2009/01/28 Javascript
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
jQuery 选择表格(table)里的行和列及改变简单样式
2012/12/15 Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
2014/06/10 Javascript
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
jQuery中的100个技巧汇总
2016/12/15 Javascript
jQuery ajax的功能实现方法详解
2017/01/06 Javascript
angular.js指令中的controller、compile与link函数的不同之处
2017/05/10 Javascript
Angular 项目实现国际化的方法
2018/01/08 Javascript
angularjs实现的购物金额计算工具示例
2018/05/08 Javascript
浅谈HTTP 缓存的那些事儿
2018/10/17 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
VSCode 配置uni-app的方法
2020/07/11 Javascript
ant-design-vue 时间选择器赋值默认时间的操作
2020/10/27 Javascript
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
Django 使用Ajax进行前后台交互的示例讲解
2018/05/28 Python
python3实现基于用户的协同过滤
2018/05/31 Python
Python之list对应元素求和的方法
2018/06/28 Python
CSS3 mask 遮罩的具体使用方法
2017/11/03 HTML / CSS
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
新浪微博实习心得体会
2014/01/27 职场文书
《桃林那间小木屋》教学反思
2014/05/01 职场文书
新颖的化妆品活动方案
2014/08/21 职场文书
公司表扬稿范文
2015/05/05 职场文书
如何起草一份正确的合伙创业协议书?
2019/07/04 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书
pandas取dataframe特定行列的实现方法
2021/05/24 Python
「Manga Time Kirara MAX」2022年5月号封面公开
2022/03/21 日漫
不想升级Win11?教你彻底锁定老版Windows系统的方法(附下载地址)
2022/09/23 数码科技