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 相关文章推荐
网页游戏开发入门教程三(简单程序应用)
Nov 02 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
Sep 23 PHP
基于php下载文件的详解
Jun 02 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
Apr 29 PHP
解决CodeIgniter伪静态失效
Jun 09 PHP
PHP 错误处理机制
Jul 06 PHP
PHP提高编程效率的20个要点
Sep 23 PHP
smarty学习笔记之常见代码段用法总结
Mar 19 PHP
PHP获取指定日期是星期几的实现方法
Nov 30 PHP
php求数组全排列,元素所有组合的方法总结
Mar 14 PHP
PHP实现动态创建XML文档的方法
Mar 30 PHP
laravel框架中表单请求类型和CSRF防护实例分析
Nov 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中获取url与物理路径的总结
2013/06/21 PHP
CI框架AR数据库操作常用函数总结
2016/11/21 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
2019/10/11 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
js实现点小图看大图效果的思路及示例代码
2013/10/28 Javascript
js实现幻灯片播放图片示例代码
2013/11/07 Javascript
jQuery设置与获取HTML,文本和值的简单实例
2014/02/26 Javascript
js获取select默认选中的Option并不是当前选中值
2014/05/07 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
AngularJS学习笔记之TodoMVC的分析
2015/02/22 Javascript
javascript继承的六大模式小结
2015/04/13 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
js实现不重复导入的方法
2016/03/02 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
使用elementUI实现将图片上传到本地的示例
2018/09/04 Javascript
vue.js实现双击放大预览功能
2020/06/23 Javascript
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
基于循环神经网络(RNN)实现影评情感分类
2018/03/26 Python
Python之列表的插入&替换修改方法
2018/06/28 Python
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
Tensorflow的梯度异步更新示例
2020/01/23 Python
python中selenium库的基本使用详解
2020/07/31 Python
如何利用python 读取配置文件
2021/01/06 Python
诚信考试倡议书
2014/04/15 职场文书
人事经理岗位职责范本
2014/08/04 职场文书
争先创优活动总结
2014/08/27 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
工作犯错保证书
2015/05/11 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
2016秋季运动会开幕词
2016/03/04 职场文书
教你使用pyinstaller打包Python教程
2021/05/27 Python
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
2021/06/26 MySQL