首页 > 解决方案 > Symfony 控制台部分未清除所有行

问题描述

我正在尝试创建一个每隔几秒钟刷新一次的控制台表(这是为了刷新库存数据)。

但是我发现在一定长度之后, $section->clear() 并没有清除所有的行。在我的终端中,似乎没有清除 23 行以上的任何内容。我在使用 Catalina 的 Mac 上,不确定这是否重要。

我的代码是这样的:

$section = $output->section();

while (true) {
    $quote = $tradier->getQuote($symbol, true);
    $this->renderQuoteTable($quote, $section);
    sleep($input->getOption('interval'));
    $section->clear();
}

实际的 renderQuoteTable() 方法只是创建一个表,将 $section 传递给它,获取报价数据并呈现它。

对于 23 行或更少的表,它会清除所有行。

但是我的表有 27 行长,所以每次刷新时,前 4 行仍然存在。

不确定这是错误、Mac 上的终端问题,还是只是编码错误。

标签: symfonysymfony4symfony-console

解决方案


推荐阅读