Php 输出缓冲或重新排列代码

Php 输出缓冲或重新排列代码,php,Php,我正在使用PHP开发一个小型网站,在我的研究过程中,我看到许多项目在DOCTYPE之前从页面顶部开始编写ob_,只是因为它们需要在出现错误时重定向用户中间页面,而不会触发已经发送的错误标题 现在我有点困惑,因为我从来不知道ob_start可以这样使用我的意思是缓冲整个页面,我总是这样写代码: <?php // First: Logic stuff and Validation (with redirects on error) // Last: HTML markup o

我正在使用PHP开发一个小型网站,在我的研究过程中,我看到许多项目在DOCTYPE之前从页面顶部开始编写ob_,只是因为它们需要在出现错误时重定向用户中间页面,而不会触发已经发送的错误标题

现在我有点困惑,因为我从来不知道ob_start可以这样使用我的意思是缓冲整个页面,我总是这样写代码:

<?php
    // First: Logic stuff and Validation (with redirects on error)

    // Last: HTML markup or include 'header.php';
?>

我从来没有遇到过标题的问题。那么哪一个更好呢?我是否也应该使用ob_start而不是拆分代码?

ob_start对于“已发送邮件头”来说是一个糟糕的解决方案。看看右边的相关问题这是一个可能会得到一些不同意见的主题,但是我敢猜测,大多数有经验的开发人员会告诉您仅在绝对必要时使用输出缓冲。实际上,您应该专注于将代码的逻辑与它的显示方面分开。在呈现页面之前,请确定需要发送哪种类型的标题。仅仅因为在出现错误时需要重定向用户中间页面,那么编写更好的脚本呢?为什么一个设计良好的页面会在中途失败,而不是输出一个错误页面/消息呢?你目前的方法还可以。你做得对。只有在需要时才使用输出缓冲。IPO是一种常见的编程模式:输入、处理、输出