只想在php输出缓冲上挑专家的脑筋。有时我出于某种原因想要实现它,但总是设法重新排列我的代码以绕过它。
我避免使用它,因为它听起来会耗费资源。我的意思是,如果他们可以为编码器提供如此出色的灵活性,为什么他们不总是缓冲输出呢?我能想出的唯一答案是:因为不缓冲它可以节省大量资源,并且通过良好的编码实践,你不应该需要它。
我离这儿很远吗?
只想在php输出缓冲上挑专家的脑筋。有时我出于某种原因想要实现它,但总是设法重新排列我的代码以绕过它。
我避免使用它,因为它听起来会耗费资源。我的意思是,如果他们可以为编码器提供如此出色的灵活性,为什么他们不总是缓冲输出呢?我能想出的唯一答案是:因为不缓冲它可以节省大量资源,并且通过良好的编码实践,你不应该需要它。
我离这儿很远吗?
根据我的经验,对性能没有显着影响。我也找不到关于这个主题的一致答案——有些人声称对性能几乎没有任何影响,而有些人则说影响很小但很重要。甚至在 php.net 上也有评论表明,与多个输出函数相比,缓冲可以提高性能,而不是我已经验证过这一点或任何东西。
我认为是否缓冲的问题更多地与您的应用程序的预期用途有关。如果您想在发送输出之前压缩输出,或者如果您想准确控制输出在代码中发生的时间和位置,那么缓冲就很有意义。由于添加缓冲不需要花费太多精力,因此您不妨尝试一下-如果需要,删除它应该相对容易。
我认为相反。除非您遇到真正需要它的情况,否则不缓冲输出是一个坏主意。例如,将创建大量输出的脚本。
在大多数情况下,花费大量程序员时间来节省一些未知数量的(便宜的)内存听起来像是在浪费资源。
如果您处于内容在标题之前输出的情况,则需要将其填充到缓冲区中,否则页面将错误地指出内容是在标题之前输出的。这发生在我的共享库中,没有足够的时间进入并进行适当的修复以启动。它是其中一个标记 //TODO / FIXME 然后返回并稍后使其正确。
使用输出缓冲,我能够为我最后一个 PHP 项目的自制 MVC 后端快速制作轻量级模板系统。我喜欢它并且发现它非常有用。
关于资源:这不是资源密集型的。如果您担心它使用的东西很少,那么 PHP 不是适合这项工作的工具。我喜欢 PHP,但它不是最轻的选择。不过,在任何相当现代的服务器上,这都无关紧要。