Php 正在新行上重新创建Symfony进度条
Symfony控制台进度条不是在同一行上前进,而是在新行上创建Php 正在新行上重新创建Symfony进度条,php,symfony,symfony-console,Php,Symfony,Symfony Console,Symfony控制台进度条不是在同一行上前进,而是在新行上创建 1/2 [==============>-------------] 50% ! [NOTE] No changes made to Categories/CategoriesSchema 2/2 [============================] 100% 2/2 [============================] 100% 我假设进度条只会在同一条线上移动,直
1/2 [==============>-------------] 50%
! [NOTE] No changes made to Categories/CategoriesSchema
2/2 [============================] 100%
2/2 [============================] 100%
我假设进度条只会在同一条线上移动,直到操作完成。这是我的密码
$io = new SymfonyStyle($input, $output);
$progressbar = new ProgressBar($output, count($elements));
$progressbar->start();
foreach ($elements as $element) {
//work on element
io->note("No changes made to ".ucfirst($name));
$progressbar->advance();
$io->newLine();
}
$progressbar->finish();
我做错了什么???如果不是自动的,则进程进程将始终位于新行,除非在向io写入之前清除它 如果要在进度条运行时输出某些内容, 先打电话。完成后,打电话向观众展示 再次显示进度条 因此,要么在启动进度条之前写入io
$io->note('No changes made to ' . ucfirst($name));
$io->newLine();
$progressbar->start();
foreach ($elements as $element) {
$progressbar->advance();
sleep(1);
}
$progressbar->finish();
或在写入io之前在进度条上调用clear,并在完成时调用display
$progressbar->start();
foreach ($elements as $element) {
if (true /* put conditional here */) {
$progressbar->clear(); //remove progress bar from display
$io->note('No changes made to ' . ucfirst($name));
$io->newLine();
$progressbar->display(); //redraw progress bar in display
}
$progressbar->advance(); //move up a step
sleep(1);
}
$progressbar->finish();
如果进度推进不是自动的,则它将始终位于新行上,除非您在向io写入之前将其清除 如果要在进度条运行时输出某些内容, 先打电话。完成后,打电话向观众展示 再次显示进度条 因此,要么在启动进度条之前写入io
$io->note('No changes made to ' . ucfirst($name));
$io->newLine();
$progressbar->start();
foreach ($elements as $element) {
$progressbar->advance();
sleep(1);
}
$progressbar->finish();
或在写入io之前在进度条上调用clear,并在完成时调用display
$progressbar->start();
foreach ($elements as $element) {
if (true /* put conditional here */) {
$progressbar->clear(); //remove progress bar from display
$io->note('No changes made to ' . ucfirst($name));
$io->newLine();
$progressbar->display(); //redraw progress bar in display
}
$progressbar->advance(); //move up a step
sleep(1);
}
$progressbar->finish();