Метод secret
Метод secret класса Command применяется для запроса у пользователя конфиденциальной информации, такой как пароли или API-ключи. В отличие от метода ask, вводимый текст не отображается на экране. Первым параметром передаётся вопрос, вторым - массив опций для подтверждения ввода.
Синтаксис
<?php
$this->secret($question, $options = []);
?>
Пример
Давайте запросим у пользователя пароль для доступа к защищённому ресурсу:
<?php
namespace AppConsoleCommands;
use IlluminateConsoleCommand;
class UserPasswordCommand extends Command
{
protected $signature = 'user:password';
protected $description = 'Request user password securely';
public function handle()
{
$password = $this->secret('Enter your password:');
$this->info('Password received successfully.');
}
}
?>
Результат выполнения кода:
"Password received successfully."
Пример
Давайте запросим у пользователя пароль и подтверждение, используя опцию required для обязательного ввода:
<?php
namespace AppConsoleCommands;
use IlluminateConsoleCommand;
class ConfirmPasswordCommand extends Command
{
protected $signature = 'user:confirm';
protected $description = 'Request and confirm user password';
public function handle()
{
$password = $this->secret('Enter your password:', ['required' => true]);
$confirm = $this->secret('Confirm your password:', ['required' => true]);
if ($password === $confirm) {
$this->info('Passwords match.');
} else {
$this->error('Passwords do not match.');
}
}
}
?>
Результат выполнения кода при совпадении паролей:
"Passwords match."