php框架

 首页 > php框架 > ThinkPHP > thinkphp3.2最新最全生成静态页面教程buildHtml系统代码:使用方法:

thinkphp3.2最新最全生成静态页面教程buildHtml系统代码:使用方法:

分享到:
【字体:
导读:
         [导读] thinkphp3.2最新最全生成静态页面教程buildHtml 系统代码: protectedfunctionbuildHtml($htmlfile=,$htmlpath=,$templateFile=){$content=$this-fetch($templateFile);$htmlpath=!empty($htmlpath)?$htmlpath:HTML_PATH;$htmlfile=$htmlpat...

thinkphp3.2最新最全生成静态页面教程buildHtml

系统代码:

  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;
    }

使用方法:

$this->buildHtml('静态文件', '静态路径','模板文件');


参数一:静态文件,是指生成后的静态文件名,文件保存路径完整的就是:静态路径/静态文件。例如静态文件设置a/index.那么保存的路径就是项

目路径/Html/a/index.html(默认的静态路径在项目路径的Html文件夹下,没有可以自己创建)


参数二:静态路径,上面已经说明了默认的路径,3.0中可以在入口文件里加入参数来更改静态路径。

define(‘HTML_PATH’, ‘./’);(将静态路径义为网站根目录)


参数三:模板文件,我感觉官方这个描述是不正确的,准确的来说应该是目标模块,就是需要生成静态文件的模块。格式:模块名:操作。比如要生成Index下的a方法为静态文件,那就是Index:a。如果为空则默认生成当前操作的静态文件。


生成静态页,我们要选择一个静态模板页,静态化网页的原理也就是替换模板中的变量,所以我们要把需要替换的变量的值获取出来,比如

$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方法后,就把这些变量给替换掉了。是不是很简单。


分享到:
Thinkphp3.2的目录结构详细介绍
ThinkPHP框架目录结构 \index.php         入口文件 \Application     应用目录 \Public         资源文件目录 \ThinkPHP         框架核心目录   \Application    目录结构(应用目录,保存了所有的应用文件) \Application\Common         应用公共模块 \Application\Common\Common     应用公...
thinkphp中设置session周期时间无效问题
hinkphp的session设置周期是无效的; 直接的影响就是无法保留用户的登陆状态; 用thinkphp开发的项目;关闭浏览器后用户就退出了; 即便设置了session周期也没作用; 这个bug存在很久了;但是thinkphp官网一直没处理更新; 吐槽完毕;下面来解决这个bug; 首先需要在 /Thinkphp/Common/funtion.php 公告函数的第1213行添加...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……