看起来这个块直接刷新输出。
这个块的实际用途是什么?我该如何使用它?
有人用过吗?
核心(afaik)不使用它。它关闭输出缓冲,因此渲染的输出将立即发送。唯一可以工作的块是根块,否则嵌套core/flush
块和所有后续块将在包含外部块之前呈现。
我想不出一个合理的用例。由于前端控制器负责将输出发送给客户端,因此该core/flush
块中断了他的进程。在最坏的情况下,它可能导致 PHP Headers 已经发送通知。
我不知道,但我猜这是 Magento 预发布时代的遗留物,当时整个渲染系统还没有最终确定。在当时看来可能是个好主意。
也许当时和核心团队在一起的人可以启发我们了解历史。
可以使用它的一种情况是自定义报告。由于 MySQL 查询繁重,我有一些报告需要很长时间才能加载。我猜这个块将允许我在输出开始生成后立即开始显示页面,这样它就不必等待 phtml 布局完成其执行。
看起来该块没用,因为它已从 Magento2 中删除。