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 相关文章推荐
用libTemplate实现静态网页的生成
Oct 09 PHP
纯php打造的tab选项卡效果代码(不用js)
Dec 29 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 PHP
详解PHP中strlen和mb_strlen函数的区别
Mar 07 PHP
ThinkPHP中的三大自动简介
Aug 22 PHP
WordPress中创建用户角色的相关PHP函数使用详解
Dec 25 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
Apr 12 PHP
ZendFramework框架实现连接两个或多个数据库的方法
Dec 08 PHP
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
Mar 29 PHP
详解关于php的xdebug配置(编辑器vscode)
Jan 29 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
May 31 PHP
php7性能提升的原因详解
Oct 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
收音机玩机评测 406 篇视频合集
2020/03/11 无线电
PHP 开发环境配置(Zend Studio)
2010/04/28 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
百度站点地图(百度sitemap)生成方法分享
2014/01/09 PHP
smarty内置函数foreach用法实例
2015/01/22 PHP
PHP实现自动对图片进行滚动显示的方法
2015/03/12 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
2016/11/20 PHP
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
嵌入式iframe子页面与父页面js通信的方法
2015/01/20 Javascript
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
JavaScript程序设计之JS调试
2015/12/09 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
微信小程序 页面跳转和数据传递实例详解
2017/01/19 Javascript
NodeJs测试框架Mocha的安装与使用
2017/03/28 NodeJs
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
js仿360开机效果
2019/12/26 Javascript
python中assert用法实例分析
2015/04/30 Python
python删除指定类型(或非指定)的文件实例详解
2015/07/06 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
python爬虫爬取幽默笑话网站
2019/10/24 Python
Python设计密码强度校验程序
2020/07/30 Python
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
去加拿大的旅行和假期:Canadian Affair
2016/10/25 全球购物
俄罗斯马克西多姆家居用品网上商店:Максидом
2020/02/06 全球购物
标准自荐信范文
2014/01/29 职场文书
反腐倡廉警示教育活动总结
2014/05/05 职场文书
甜品店创业计划书
2014/08/14 职场文书
2014年街道办事处工作总结
2014/12/11 职场文书
教师个人教学总结
2015/02/11 职场文书
小学六一主持词开场白
2015/05/28 职场文书
防溺水安全教育主题班会
2015/08/12 职场文书
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL
Java的Object类的九种方法
2022/04/13 Java/Android