本文介绍了输出缓冲,分层?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在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>
这篇关于输出缓冲,分层?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!