本文介绍了输出缓冲,分层?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在PHP输出缓冲的乐趣。它简化了很多东西。我用ob_start()在底部的脚本和ob_get_clean()(或任何其它功能)的顶部。

这两个电话之间是否有可能再次调用这些函数,而不干扰父的电话。

这是类型code的有效吗? (它工作得很好,但是......)这是一个良好的习惯?

 < PHPob_start(); //注意 !!!回声'&所述p为H.;脚本&所述的顶部回声; / P>';
回声GetSomeOtherData(真);
回声'&所述p为H.; GetSomeOtherData()&所述后回波; / P>';$数据= ob_get_clean(); //注意 !!!
回声$的数据;//只是一个函数返回的东西,与输出缓冲的帮助
功能GetSomeOtherData($ toReturn)
{    ob_start(); //注意 !!!
    呼应'< P>这已经被渲染功能&LT内部; / P>';
    $ function_data = ob_get_clean(); //注意 !!!    如果($ toReturn ===真)
    {
        返回$ function_data;
    }
    其他
    {
        //可以是错误|返回别的东西
        回归'< P>一种错误< / P>';
    }
}
?>


解决方案

从手册:

So it is perfectly valid to assume that an ob_end/get will end/return the matching ob_start e.g.:

ob_start();
  echo "<div class=outer>";
  ob_start();
    echo "<div class=inner></div>";
  $inner = ob_get_clean(); // <div class=inner></div>
  echo "</div>";
$outer = ob_get_clean();     // <div class=outer></div>

这篇关于输出缓冲,分层?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-28 17:32