ob_start与回调函数

jackxiang 2010-4-22 14:42 | |
    今天在研究ob_start()的时候发现它的参数中有个callback,也就是回调函数。已前没有接触过,立即google。发现有好多文章介绍此函数的,但是大多数都介绍的很不清楚(也许本人水平太低,看不懂),最后貌似理解了。下边就我的理解介绍一下什么是callback function.
       使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。而那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或完成一定的操作。也就是可以讲回调函数作为另外一个函数的参数,然后利用回调函数完成一些操做。
        下边就拿ob_start()来做一个例子,开始贴代码

<?php

function callback($buffer)
{
  // replace all the apples with oranges
  return (str_replace("apples", "oranges", $buffer));
}
//ob_start will out put content to a internal buffer
ob_start("callback");

?>
<html>
<body>
<p>It's like comparing apples to oranges.</p>
</body>
</html>
<?php
//will clean internal buffer
//ob_end_clean();
//will out the internal buffer's content.
ob_end_flush();

?>



ob_start() 会回调callback这个方法,对buffer中的内容进行修改。

来源:http://blog.sina.com.cn/s/blog_4d8a2c970100ewb3.html

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/2977/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]