关于编程实践的非常快速的问题:
我总是使用echo()一旦生成就将HTML代码输出给用户,并且同时使用ob_start()以便能够在代码中输出标题。最近,我意识到这是糟糕的编程习惯,我应该将HTML输出保存到最后。
这有什么理由吗?它是什么,为什么输出缓冲不是一个好的选择?
谢谢!
答案 0 :(得分:2)
一些想法,不一定是有序的。
使用echo
输出HTML非常麻烦。 PHP是一种模板语言,如果需要输出HTML,可以省略它:
<?php echo "<div id=\"foo\">" . $bar . "</div>"; ?>
VS
<div id="foo"><?php echo $bar; ?></div>
了解MVC模式。
答案 1 :(得分:1)
每当向浏览器发送任何HTML时,都会收到/创建标题。发生这种情况后,PHP无法再发送任何标头。因此,通过“早期”发送代码,您将禁用PHP发送标头的能力,并限制代码的灵活性(无论是现在还是将来的更改)。
答案 2 :(得分:1)
在视图中输出之前处理各种事情是很好的 - 例如,您可能需要发送其他标题,例如Location
和Set-Cookie
。
此外,你永远不知道你需要什么样的视图 - 这次回复是HTML,但是如果你以后想要它作为JSON或XML呢?你将很难重组。
如果您已将所有输出保留为最终视图,则可以将HTML替换为XML模板。