从 Laravel 命令清除控制台

Jus*_*nan 3 php terminal command-line laravel lumen

我正在将 Lumen 框架用于一个业余项目,并创建了一个 artisan 命令,将一个小表写入终端。我遇到的麻烦是清除终端并重新绘制表格。

public function fire()
{
    $scraper = new scraper();
    $scores = $scraper->scrape();
    $i = 1;
    while($i = 1) {
        $table = new Table($this->getOutput());

        $table->setHeaders(array('', 'Score', 'Status'));
        foreach($scores as $game) {
            $table->addRow([$game->team1['name'], $game->team1['score'], new TableCell($game->gameStatus, array('rowspan' => 2))]);
            $table->addRow([$game->team2['name'], $game->team2['score']]);
            $table->addRow([new TableSeparator(), new TableSeparator(), new TableSeparator()]);
        }
        $table->render();
        sleep(5);
        // Somehow clear the terminal 
    }
}
Run Code Online (Sandbox Code Playgroud)

有人有什么想法吗?

mai*_*o84 7

一个肮脏的修复会是这样的:

if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    system('cls');
} else {
    system('clear');
}
Run Code Online (Sandbox Code Playgroud)