用PHP输出HTML,使用ob_start还是回显$ html有什么好处?

时间:2017-07-16 10:08:45

标签: php html ob-start

显然存在可用性和可读性差异,但是下面的方法是否有任何优点或缺点 - 特别是在性能方面?

function method1() {
  ob_start();
  ?><div>some html</div><?php
  echo ob_get_clean();
}

function method2() {
  ?><div>some html</div><?php
}

function method3() {
  echo '<div>some html</div>';
}

特别是在method1method2之间,添加的ob_start()会导致性能下降吗?输出HTML时我甚至需要使用它吗?

1 个答案:

答案 0 :(得分:1)

&#34;典型&#34;用于ob_start()是为了缓冲输出,这样你仍然可以使用setcookieheader和其他函数,而不必担心&#34;我已经输出了什么东西?&# 34;它会起作用。老实说,我认为这应该是默认行为,但这只是我。

然而,当你给它一个回调时,

ob_start()会获得真正的力量。我个人有这个:

ob_start(function($html) {
    return preg_replace('/\r?\n\t*/','',$html);
});

这会在将HTML源发送到浏览器之前从HTML源中删除换行符(以及后续选项卡),从而缩小它。