РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1289 of 1361 menu

Метод progressAdvance

Метод progressAdvance класса SymfonyStyle увеличивает текущее значение прогресс-бара на указанное число шагов. Первым параметром передаётся количество шагов, на которое нужно продвинуть прогресс. Если параметр не указан, прогресс продвигается на один шаг вперёд. Метод работает только после запуска прогресс-бара через progressStart.

Синтаксис

progressAdvance(int $step = 1)

Пример

Давайте создадим команду, которая запускает прогресс-бар и продвигает его на один шаг в цикле:

<?php namespace AppCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; use SymfonyComponentConsoleStyleSymfonyStyle; class ProgressCommand extends Command { protected static $defaultName = 'app:progress'; protected function execute(InputInterface $input, OutputInterface $output): int { $io = new SymfonyStyle($input, $output); $io->progressStart(5); for ($i = 0; $i < 5; $i++) { $io->progressAdvance(); } $io->progressFinish(); return Command::SUCCESS; } } ?>

Результат выполнения команды php bin/console app:progress:

5/5 [============================] 100%

Пример

Давайте продвинем прогресс-бар сразу на несколько шагов, передав количество в параметре:

<?php namespace AppCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; use SymfonyComponentConsoleStyleSymfonyStyle; class ProgressCommand extends Command { protected static $defaultName = 'app:progress'; protected function execute(InputInterface $input, OutputInterface $output): int { $io = new SymfonyStyle($input, $output); $io->progressStart(10); $io->progressAdvance(3); $io->progressAdvance(3); $io->progressAdvance(4); $io->progressFinish(); return Command::SUCCESS; } } ?>

Результат выполнения команды php bin/console app:progress:

10/10 [============================] 100%

Пример

Давайте выведем промежуточное состояние прогресса, продвигая его на один шаг за раз:

<?php namespace AppCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; use SymfonyComponentConsoleStyleSymfonyStyle; class ProgressCommand extends Command { protected static $defaultName = 'app:progress'; protected function execute(InputInterface $input, OutputInterface $output): int { $io = new SymfonyStyle($input, $output); $io->progressStart(3); $io->progressAdvance(); $io->progressAdvance(); $io->progressFinish(); return Command::SUCCESS; } } ?>

Результат выполнения команды php bin/console app:progress:

3/3 [============================] 100%

Смотрите также

  • метод progressStart,
    который запускает прогресс-бар
  • метод progressFinish,
    который завершает прогресс-бар
  • метод createProgressBar,
    который создаёт объект прогресс-бара
  • класс SymfonyStyle,
    который предоставляет методы для вывода в консоль
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить