使用输出缓冲被认为是一种不好的做法?

Ale*_*lex 30 php output-buffering

一般来说,php程序员是ob_start/ ob_get_clean()被认为是不好的做法吗?

输出缓冲有什么缺点吗?

kos*_*kos 22

这实际上是一种很好的做法.加快数据传输速度

  • 确切地说,它是如何做到的?这个答案对我有什么帮助? (10认同)

Dev*_*ris 15

在某些情况下输出缓冲几乎是强制性的.只要您将某些内容输出回用户,就会使用PHP发送标头.因此,如果您在处理页面时遇到问题,那么除非启用缓冲,否则需要发送标题.否则你会得到可怕的"无法修改标题信息 - 标题已经发送".

有些人会告诉你,你不应该这样编码.我说是骗子!

启用缓冲区后,您的代码可以更灵活.


Alf*_*red 10

输出缓冲不是一个坏习惯.例如,它可以通过使用GZIP压缩加速您的网站加载(尽管如果可能的话,最好在.htaccess中执行此操作).

<?php 
    if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) 
        ob_start("ob_gzhandler"); 
    else 
        ob_start(); 
?>
Run Code Online (Sandbox Code Playgroud)

缺点:我不知道.好问题.

PS:我也找到了关于输出缓冲的话题.


Jon*_*nah 7

为了提高程序效率,输出缓冲区捕获也不错.这是PHP的一个有用功能.但是,它可以用于其他方法更好的事情.代码气味可能是一个问题,因此请确保没有更好,更清晰的解决方案来解决您的问题.

  • 什么代码味道?:) (4认同)
  • 一个人的实施问题导致其他(有时更大)的问题.在这种情况下使用错误的解决方案来解决问题.更多信息:http://www.codinghorror.com/blog/2006/05/code-smells.html (2认同)