纯静态化

纯静态化
Smarty的缓存技术就是静态化的体现。
纯静态化_第1张图片
1.什么是纯静态化
把php执行、生成好的内容制作为一个“静态页面”,该制作过程就是静态化。
2. 为什么使用静态化
节省 php、mysql等服务器资源
节省用户等待时间,访问速度快
搜索引擎(百度)更喜欢收录“静态页面”
3. 实现静态化
纯静态化_第2张图片
php代码执行---->缓冲区---->被抓取----->生成静态页面
一个简答的php代码:
纯静态化_第3张图片
以上php代码对应的静态内容:
在这里插入图片描述
现在利用php把对应的静态内容从“php缓冲区”里边给抓取出来,并制作静态页面:
纯静态化_第4张图片
以上程序代码在执行的时候,浏览器页面就没有输出内容,因为ob_end_clean已经把内容从缓冲区删除了。
生成的静态页面及对应的内容:
纯静态化_第5张图片
纯静态化_第6张图片
纯静态化_第7张图片
静态化文件只给体现ob_get_contents之前收集的内容,之后输出 的内容不给体现:

4.相关函数
开启缓冲
ob_start()
php.ini             output_buffering=4096;
只要开启了以下设置,那么就等于自动开启ob_start()
4096这个数值所在的设置现在已经废除了,放在那里当摆设
在这里插入图片描述
获取内容:
ob_get_contents(); //获取
ob_get_clean(); //获取后清空
ob_get_flush(); //获取刷新
清空
ob_clean() //删除缓冲区内容
ob_get_clean(); //获取并删除缓冲区内容
ob_end_clean(); //清空并关闭缓冲区
刷新(缓冲区内容自然做输出,给用户的浏览器显示)
ob_flush() //数据向下推送
ob_get_flush(); //获取内容并推送内容
ob_end_flush(); //推送内容并关闭缓冲区
(没有调用flush时,每个php脚本结束后会自动flush,把内容呈现给用户)
关闭
ob_end_clean(); //清空关闭
ob_end_flush(); //刷新关闭

你可能感兴趣的:(php)