十多年来,PHP 开发人员一直依赖 symfony/console 组件作为构建 CLI 应用程序的黄金标准。
它为我们提供了格式精美的输出、强大的输入验证和进度条。
但从根本上来说,范式保持不变:立即 Mod。
在立即模式下,您的脚本从上到下执行。
如果要显示进度条,则必须计算状态、格式化字符串并显式回显 ANSI 转义代码以重绘该特定终端线。
如果您可以声明一个小部件树(容器、文本输入、Markdown 渲染器),并让渲染引擎智能地区分屏幕状态、捕获击键并异步更新 UI 组件,会怎么样。
来源:HackerNoon
