
无需加好友免费技术支持
模板彻底静态,是指通过模板彻底生成纯静态网页页面,比动态网页页面和伪静态页面安全系数高,更有助于SEO浏览速度相当快。与前两者对比,两者都有优点和缺点。如今比较一下这三种方式优缺点,及其ThinkPHP在5个项目中获得彻底静态的最基本全过程。
1. 动态和真静态
比照网页页面静态和动态页面,静态没有SQL与一些后面脚本制作一起运作,平安稳定,网站打开速度快SEO友善(在网上还有说百度搜索引擎已经没爬取动态网页页面的压力了),可是百度搜索引擎再强劲,静态的URL都比动态背部的疑问灶具漂亮,错误SEO友善对于大部分访问客户也非常nice(漂亮第一)。但生成静态界面的主要缺点,如果一个个人博客,伴随着文章的提高,即便是一个html就30几Kb,在很多的情形下,储存空间也非常大。在网上也有人认为静态网页页面化经常生成,易造成硬盘故障。我的观点是,检测难以忽视这一点,由于现在大部分人使用云服务器或虚拟主机,这些都不是物理学硬件配置。即便硬盘损坏过多,网址也能正常浏览,因为它是云主机。
2. 真静态与伪静态
二者对比或许是擒雄之战,因为大家了解伪静态或是动态页,仅仅Apache通过URL重新写过标准使之看起来像是静态网页页面。主要是让自己对于SEO友善,但比真静态得多Apache流程,因此也耗费了一些服务器空间。如同前面提到的,新项目的挑选在于要求,都各有优点和缺点。北桥苏的应用主要是因其网址有时候必须提升速率,因而模板是静态的。以下属于操作流程。
1. 依据模块控制器全自动递归算法创建目录。
2. file_exists分辨生成的静态页存不存在
3. 或是分辨到期是否有跳转静态网页页面
4. file_put_contents($file,$content)函数公式生成网页页面。
1. 列表的建立
/*
* 递归算法创建目录
* @param string $dir 文件名称途径
* @return boolean 建立结论
* **/
function mkdirs($dir)
{
if(!is_dir($dir))
{
if(!mkdirs(dirname($dir))){
return false;
}
if(!mkdir($dir,0777)){
return false;
}
}
return true;
}
2. 必须建立基类初始化的文件目录
protected $staticHtmlDir = ""; ////静态模板生成文件目录
protected $staticHtmlFile = ""; ///静态文档
protected function _initialize() {
parent::_initialize();
$this->staticHtmlDir = "html".DS.$this->request->controller().DS;
//……………………………………………………………………
3. 父类生成的前后方式。
////确定是否有静态
public function beforeBuild($param) {
//生成静态
//$baseDir = "html".DS.$this->request->controller().DS;
if(is_array($param)) {
$param = implode("_",$param);
}
$this->staticHtmlFile = $this->staticHtmlDir.$this->request->action().($param?$param:"").".html";
if(mkdirs($this->staticHtmlDir)) {
if(file_exists($this->staticHtmlFile)