ThinkPHP生成静态页buildHtml方法
原来ThinkPHP自带了生成静态页的函数buildHtml,使用起来很方便!最新的手册里没写这个方法,向大家介绍一下。
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
 | 
     protected function buildHtml($htmlfile='',$htmlpath='',$templateFile='') { 
        $content = $this->fetch($templateFile); 
        $htmlpath   = !empty($htmlpath)?$htmlpath:HTML_PATH; 
        $htmlfile =  $htmlpath.$htmlfile.C('HTML_FILE_SUFFIX'); 
        if(!is_dir(dirname($htmlfile))) 
            // 如果静态目录不存在 则创建 
            mk_dir(dirname($htmlfile)); 
        if(false === file_put_contents($htmlfile,$content)) 
            throw_exception(L('_CACHE_WRITE_ERROR_').':'.$htmlfile); 
        return $content; 
    } 
 | 
使用方法:
| 
 1 
 | 
 $this->buildHtml('静态文件', '静态路径','模板文件'); 
 | 
参数一:静态文件,是指生成后的静态文件名,文件保存路径完整的就是:静态路径/静态文件。例如静态文件设置a/index.那么保存的路径就是项
目路径/Html/a/index.html(默认的静态路径在项目路径的Html文件夹下,没有可以自己创建)
参数二:静态路径,上面已经说明了默认的路径,3.0中可以在入口文件里加入参数来更改静态路径。
define(‘HTML_PATH’, ‘./’);(将静态路径义为网站根目录)
参数三:模板文件,我感觉官方这个描述是不正确的,准确的来说应该是目标模块,就是需要生成静态文件的模块。格式:模块名:操作。比如要生成Index下的a方法为静态文件,那就是Index:a。如果为空则默认生成当前操作的静态文件。
生成静态页,我们要选择一个静态模板页,静态化网页的原理也就是替换模板中的变量,所以我们要把需要替换的变量的值获取出来,比如
| 
 1 
2 
3 
4 
5 
 | 
 $this->assign ( 'webname', $websites ['name'] ); 
$this->assign ( 'siteid', $siteid ); 
$this->assign ( 'type', $type ); 
$this->assign ( 'header', $websites ['templatedirectory'] . '@Public_header' ); 
$this->assign ( 'footer', $websites ['templatedirectory'] . '@Public_footer' ); 
 | 
静态模板页有相应的{$header},{$footer}等,使用buildHtml方法后,就把这些变量给替换掉了。是不是很简单。
ThinkPHP生成静态页buildHtml方法的更多相关文章
- thinkPHP实现静态页的方法-buildHtml
		
thinkphp全站静态页实现方法! 1:在根目录下的全局index.php中加下面这行: define('HTML_PATH', './htm');//生成静态页面的文件位置 2:在项目的配置文件c ...
 - thinkphp全站静态页实现方法!
		
1:在根目录下的全局index.php中加下面这行: define('HTML_PATH', './htm');//生成静态页面的文件位置 2:在项目的配置文件config.php中加下面这行: 'H ...
 - thinkphp全站静态页实现方法
		
1:在根目录下的全局index.php中加下面这行: define('HTML_PATH', './htm');//生成静态页面的文件位置 2:在项目的配置文件config.php中加下面这行: 'H ...
 - 基于PHP生成静态页的实现方法
		
t1.php 复制代码 代码如下: <?php// 方法一根据模版生成静态页面// replaceTemplateString函数用于替换模板中指定字符串function replaceTemp ...
 - ThinkPHP的静态化页面方法
		
原来ThinkPHP自带了生成静态页的函数buildHtml,使用起来很方便!最新的手册里没写这个方法,向大家介绍一下. protected function buildHtml($htmlf ...
 - ASP.NET MVC 解析模板生成静态页一(RazorEngine)
		
简述 Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项.在早期的MVC版本中默认使用的是ASPX模板引擎,Razor在语法上的确不错,用起来非常方便,简洁的语法 ...
 - NET MVC  RazorEngine 解析模板生成静态页
		
ASP.NET MVC 解析模板生成静态页一(RazorEngine) 简述 Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项.在早期的MVC版本中默认使用的是 ...
 - dedesmc 手机端生成静态页
		
dedesmc 手机端生成静态页 1.首先下载插件,下载地址:https://pan.baidu.com/s/1Nfx_KBYuxRkZ7VzoPxy28g 密码:83x7 2.进入 dedecms ...
 - PHP生成静态页面的方法
		
在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板.缓存 等实现页面静态化,今天就以PHP实例教程形 ...
 
随机推荐
- 【ASK】设置网卡启动遇到的事!
			
上次动笔是16年的事情了,一晃3年过去了.算了,不感慨了.直奔主题吧. 1.今天朋友要把一批win10的机器设置成网卡启动. 2.网卡是intel集成的. 3.按照主板说明已经设置成功. 4.通过wi ...
 - 《Using Databases with Python》Week3 Data Models and Relational SQL 课堂笔记
			
Coursera课程<Using Databases with Python> 密歇根大学 Week3 Data Models and Relational SQL 15.4 Design ...
 - php7.2 下安装swoole扩展
			
git clone git@github.com:swoole/swoole-src.git phpize ./configure make && make test make ins ...
 - IntelliJ IDEA 配置 Hadoop 源码阅读环境
			
1.下载安装IDEA https://www.jetbrains.com/idea/download/#section=windows 2.下载hadoop源码 https://archive.apa ...
 - 解决Pip install Pillow 失败问题
			
当我在使用Django一个上传图片功能的时候, Django 提示我安装 Pillow这个图片处理的库, 当我尝试安装的时候. 总是提示安装失败 报如下错误. v = self._sslobj.rea ...
 - 汇编语言——DOSBox 学习网址整理
			
汇编语言--使用DOSBox写一个HelloWorld https://blog.csdn.net/whatiwhere/article/details/8035910 windows下汇编工具--d ...
 - k8s/01开启云原生之门(Mooc)
			
一.kubernetes(k8s)基础知识 1.简介 在2017年Kubernetes战胜了两个强大的竞争对手Swarm和Mesos,成为容器管理与调度编排领域的首选平台和事实标准. 2014年k8s ...
 - 使用 PC 做 FTP/TFTP 服务器,上传和下载文件
			
使用PC做TFTP服务器,上传和下载文件需要用到一个工具软件,IPOP,可百度下载. 1.在桌面新建一个空闲的文件夹,作为TFTP服务器的存储位置,然后打开IPOP软件,开启服务. 图片中 编号3 的 ...
 - 自己写一个Layout
			
1 Layout是ViewGroup的子类 LinearLayout.FrameLayout都是ViewGroup的子类,自己写的Layout也是ViewGroup的子类. 2 步骤 第一,自己的La ...
 - oracle系统视图SQL语句整理
			
-- DBA/ALL/USER/V_$/GV_$/SESSION/INDEX开头的绝大部分都是视图 -- DBA_TABLES意为DBA拥有的或可以访问的所有的关系表. -- ALL_TABLES意为 ...