Yii2 如何";“实时”;从控制器到视图的回显

Yii2 如何";“实时”;从控制器到视图的回显,yii2,Yii2,我有一个控制器,它执行一些广泛而耗时的操作,我想向用户展示它的部分结果;我想我必须处理“进度条”,我看过一些例子和插件,但它们远远超出了我的知识范围(目前!) 现在,我很满意以一种简单的方式将部分结果“呼应”到视图中 我的控制器: .. foreach ($response->messages as $msg) { .. ..(do something).. echo (partial results)."<br>"; } 。。 foreach($response

我有一个控制器,它执行一些广泛而耗时的操作,我想向用户展示它的部分结果;我想我必须处理“进度条”,我看过一些例子和插件,但它们远远超出了我的知识范围(目前!)

现在,我很满意以一种简单的方式将部分结果“呼应”到视图中

我的控制器:

..
foreach ($response->messages as $msg) {
  ..
  ..(do something)..
  echo (partial results)."<br>";
}
。。
foreach($response->messages as$msg){
..
……做点什么。。
回波(部分结果)。“
”; }
所以问题是,视图只在循环结束时渲染,经过长时间的空白屏幕等待后,部分结果立即显示

我希望我的“回声”在foreach循环中显示为“实时”。这是一种方法吗?

您可能需要一个带

foreach($response->messages as$msg){
//……做点什么。。
回波(部分结果)。“
”; ob_flush(); 冲洗(); } 出口
请注意,您应该在方法末尾调用
exit
——因为2.0.14 Yii不允许echo i控制器,所以您需要手动停止进一步的响应处理

foreach ($response->messages as $msg) {
    // ..(do something)..
    echo (partial results) . "<br>";
    ob_flush();
    flush();
}
exit;