关于swoole为什么渲染内容需要ob_*系列

为什么使用PHP的扩展Swoole的时候,目前指的是swoole_http_server。

我从框架中返回内容,然后通过Swoole发还给浏览器前,
需要使用ob_*系列操作一趟,才可以把内容刷出呢!????!?!

求解,到底是什么情况下才需要用到ob_系列呢,之前也遇到过验证码突然要用ob_

阅读 4k
1 个回答

swoole是作为CLI程序跑的,如果不用ob_*而直接echo的话会输出到STDOUT里面,而不会返回给浏览器。

ob_*系列函数可以把echo的内容缓存下来,然后获取到某个变量里面,这样通过HTTP就可以发送给浏览器了。

如果直接return一个字符串给swoole的话应该也是不需要使用ob_*的。但是某些PHPer会习惯写echo xxx,为了兼(jiao)容(guan)这些PHPer,所以干脆统一用ob_start...ob_get_contents这样的方式。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题