php 自动静态化技术,一起来掌握PHP静态化技术

PHP静态化的好处就不多说了,一句话概括就是“让页面打开速度飞起来”。PHP静态化有纯静态和伪静态,伪静态其实严格来说并不是真正的“静态”,它只是伪装了自己,让它看起来像静态,它的实现是利用apache或者nginx服务器对url的重写,url看起来和静态的url看起来一样美观,但实际上它还是php。伪静态这里就不多介绍了。下面一张图先让你从宏观了解一下PHP静态化。

35cb0a73518ee3db4268c44f1946b4c8.png

纯静态

开始之前,我们先了解一下PHP的ob函数。ob_start();//开启缓冲区

ob_get_contents();//获取缓冲区内容

ob_clean(); //清除缓冲区内容

可以看到ob函数是关于缓冲区的,那么缓冲区是什么呢?缓存区也就是buffer,其实我们在执行PHP的时候,PHP会把相关的输出内容都先放到缓冲区,等到PHP函数完全执行结束,才会把缓存区内容输出到浏览器,也就是我们看到的内容。

下面我们先通过一段简单的代码了解一下这个缓冲区<?php

$name = 'K先生';

echo $name;

ob_clean();

echo ob_get_contents();

上面代码执行之后,你会发现什么输出都没有,那是因为ob_clean()函数将缓存区内容都清除了,尽管echo输出在ob_clean()之前。

那么你现在把ob_clean()注释掉再试试,是不是能够正常输出了,并且输出了两个“K先生”,那是因为ob_get_contents()函数的存在哦。

最后需要注意的是,一般PHP默认是开启buffer缓存的,但为了确保万无一失,最好加上ob_start()先开启缓冲区。

一个小实例带你体验PHP静态化实现的过程

首先我们先来创建一个模板文件moban.php

<?php echo $title; ?>

然后接着创建index.php文件<?php

//用于填充模板的$title,$content变量一般可以从数据库中查找

$title = '这是一个标题';

$content = '欢迎你们来到K先生个人博客!';

require 'moban.php'; //把模板文件包含过来

$content = ob_get_contents(); //获取缓冲区内容

ob_clean(); //清除缓冲区,也就是不输出模板内容了

$res = file_put_contents('1.html', $content); //将获取到的缓冲区内容写到一个html文件中

if ($res != 0) {

echo "生成静态文件成功";

} else {

echo "生成静态文件失败,请检查源码";

}

运行index.php,你会发现生成了一个HTML文件(1.html),这就是全静态了。上面的注释应该很详细了,这就不多说了,

如果有问题,欢迎留言。你若问,我必答!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值