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

Метод confirm

Метод confirm класса Command применяется в консольных командах Laravel для интерактивного взаимодействия с пользователем. Этот метод выводит вопрос в терминал и ожидает ввода от пользователя. Если пользователь вводит 'y' (или 'yes'), метод возвращает true, если вводит 'n' (или 'no') - возвращает false. Первым параметром передаётся текст вопроса, вторым - значение по умолчанию true или false.

Синтаксис

<?php $this->confirm($question, $default = false); ?>

Пример

Давайте создадим консольную команду, которая спрашивает пользователя, хочет ли он выполнить действие:

<?php namespace AppConsoleCommands; use IlluminateConsoleCommand; class UserActionCommand extends Command { protected $signature = 'user:action'; protected $description = 'Request user confirmation for action'; public function handle() { $res = $this->confirm('Do you want to proceed?'); if ($res) { $this->info('Action confirmed!'); } else { $this->info('Action cancelled.'); } } } ?>

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

"Do you want to proceed? (yes/no) [no]: y" "Action confirmed!"

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

"Do you want to proceed? (yes/no) [no]: n" "Action cancelled."

Пример

Вторым параметром можно задать значение по умолчанию. Если установить true, то пользователю будет предложено 'yes' по умолчанию. В этом случае при нажатии Enter без ввода ответ будет true:

<?php namespace AppConsoleCommands; use IlluminateConsoleCommand; class DeleteDataCommand extends Command { protected $signature = 'data:delete'; protected $description = 'Delete all data'; public function handle() { $res = $this->confirm('Are you sure you want to delete all data?', true); if ($res) { $this->info('Data deleted successfully.'); } else { $this->warn('Operation cancelled.'); } } } ?>

Результат выполнения команды без ввода:

"Are you sure you want to delete all data? (yes/no) [yes]: " "Data deleted successfully."

Пример

Метод confirm часто используется вместе с методом ask для создания более сложных сценариев взаимодействия с пользователем:

<?php namespace AppConsoleCommands; use AppModelsUser; use IlluminateConsoleCommand; class CreateUserCommand extends Command { protected $signature = 'user:create'; protected $description = 'Create a new user'; public function handle() { $name = $this->ask('Enter user name'); $email = $this->ask('Enter user email'); $res = $this->confirm('Do you want to create user "' . $name . '" with email "' . $email . '"?'); if ($res) { $user = new User(); $user->name = $name; $user->email = $email; $user->save(); $this->info('User created successfully!'); } else { $this->warn('User creation cancelled.'); } } } ?>

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

"Enter user name: John" "Enter user email: john@example.com" "Do you want to create user 'John' with email 'john@example.com'? (yes/no) [no]: y" "User created successfully!"

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

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