ob缓冲区:
通过浏览器向Apache或者nginx发送请求,然后去调用PHP,在返回给浏览器信息的时候如果ob开启,就会将信息输出到ob里,例如(输出(echo、print_r、var_dump.......等)),然后在经过程序缓冲最终返回给浏览器,显示到页面上。如下图:
在使用ob函数之前我们需要修改一下php.ini的配置文件,切记修改完配置文件要重启Apache或nginx。
php.ini(如何迅速精准的找到环境对应的PHP配置文件,在Demo里输出phpinfo)
1 |
|
在代码测试时,需要关闭缓冲区,然后在做测试
1 |
|
下面我们来举个栗子,写一个小Demo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
ob函数应用场景:
1、静态页面的生成
2、需要服务器实时回传给浏览器特定状态使用
来一个小Demo看看效果吧
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
对于ob缓冲,我使用的地方主要是用于优化页面的时候使用的,当时我做的项目中有一个文章内容的展示页面,由于这个页面对他的变动比较少,在优化时决定将页面实现静态化, 用来减轻服务器对数据库的压力,我们都知道,多次请求数据库的时候对数据库的性能造成的压力很大,我的做法是使用ob缓冲将数据库的信息缓存起来,在这里,我加入了文件时间的判断,用来定期更新缓冲的内容,这样做,也达到了我们想要的一个效果。
我记得常用的命令有下面几个;
ob_start() 开启
ob_get_contents() 获取缓存中的数据
ob_clean() 清空缓存中的数据
ob_end() 关闭ob缓存
ob_end_clean() 清空缓存并关闭ob缓存