网站开发者的『输出缓冲』入门指导

如果你还没有使用 PHP 的output buffering,那么现在开始吧!

这是一篇专门写给web developer的文章,我会在几秒钟内举几个小李子让大家来明白什么是output buffering

简单来说,不使用 output buffering,你的网页(即 HTML)是在PHP执行时一段一段渲染到浏览器的;使用 output buffering 的话,你的
HTML 会被当做一个整体储存在一个变量中,然后一下子在浏览器中渲染出来,你是不是已经在思考性能上的优势以及网页传递时给你提供了某些可能?

优势

  • 开启 output buffering 会减少HTML的渲染次数(显然滴)
  • 所有用来处理字符串的函数,可以拿来处理整个网页了,毕竟它是一个变量了
  • 如果曾经遇到过 Warning: Cannot modify header information - headers already sent by (output) 的问题,你会很开心 output buffering 就是答案

Hello World



    
        

Hello World

就是这么简单!

进一步,压缩输出

下面,将 ob_start() 改成 ob_start('ob_gzhandler'),这个小改动将会压缩我们的HTML,是页面的加载体积变小。




    

Hello World!

更进一步,更改传输内容

下面,ob_start() 变成了 ob_start('ob_postprocess')ob_postprocess() 是我们自定义的一个方法,用来在输出到浏览器之前更改HTML内容,Hello World 将会改成 Aloha World





Hello world!

提示,在 output buffering 开启的情况下,我们可以在任何时候设置 cookies 了。

因为HTML并不直接发送到浏览器了,我们可以毫无顾忌的在我们的PHP脚本中设置COOKIE。赶紧 turn it on 吧!

更多其妙用法

你可能感兴趣的:(网站开发者的『输出缓冲』入门指导)