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

Метод confirm

Метод confirm класса SymfonyStyle выводит в консоль вопрос и ждёт от пользователя подтверждения. Первым параметром передаётся текст вопроса. Вторым параметром передаётся значение по умолчанию, которое будет возвращено, если пользователь просто нажмёт Enter. Метод возвращает true, если пользователь подтвердил действие, и false, если отказался.

По умолчанию пользователь отвечает 'yes' или 'no'. При желании можно изменить эти слова на свои собственные.

Синтаксис

confirm(string $question, bool $default = true): bool

Пример

Давайте спросим у пользователя подтверждение действия и выведем результат:

<?php namespace AppCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; use SymfonyComponentConsoleStyleSymfonyStyle; class ArticleCommand extends Command { protected static $defaultName = 'app:article'; protected function execute(InputInterface $input, OutputInterface $output): int { $io = new SymfonyStyle($input, $output); $res = $io->confirm('Continue?', false); if ($res) { $io->success('Confirmed'); } else { $io->warning('Canceled'); } return Command::SUCCESS; } } ?>

Результат выполнения кода при ответе пользователя 'yes':

"Confirmed"

Результат выполнения кода при ответе пользователя 'no':

"Canceled"

Пример

Давайте используем значение по умолчанию true, чтобы пользователь мог просто нажать Enter для подтверждения:

<?php namespace AppCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; use SymfonyComponentConsoleStyleSymfonyStyle; class ArticleCommand extends Command { protected static $defaultName = 'app:article'; protected function execute(InputInterface $input, OutputInterface $output): int { $io = new SymfonyStyle($input, $output); $res = $io->confirm('Delete article?', true); $io->writeln($res ? 'Deleted' : 'Skipped'); return Command::SUCCESS; } } ?>

Результат выполнения кода при простом нажатии Enter:

"Deleted"

Пример

Давайте зададим собственные слова для ответа вместо 'yes' и 'no':

<?php namespace AppCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; use SymfonyComponentConsoleStyleSymfonyStyle; class ArticleCommand extends Command { protected static $defaultName = 'app:article'; protected function execute(InputInterface $input, OutputInterface $output): int { $io = new SymfonyStyle($input, $output); $res = $io->confirm('Publish article?', true); $io->writeln($res ? 'Published' : 'Draft'); return Command::SUCCESS; } } ?>

Результат выполнения кода при ответе пользователя 'yes':

"Published"

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

  • класс SymfonyStyle,
    который предоставляет методы для красивого вывода в консоль
  • метод ask,
    который задаёт пользователю вопрос и возвращает ответ
  • метод choice,
    который предлагает пользователю выбрать вариант из списка
  • метод success,
    который выводит сообщение об успешном выполнении
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить