Аргументы Artisan-команды в Laravel
Команде часто нужно значение
из терминала: имя пользователя,
id записи, путь к файлу.
Такое значение называют
аргументом. Его описывают
в $signature в фигурных
скобках: {name}.
В handle аргумент читают
через $this->argument('name') -
ключ совпадает с именем
в signature:
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class HelloUserCommand extends Command
{
protected $signature = 'user:hello {name}';
protected $description = 'Say hello to a user';
public function handle(): int
{
$name = $this->argument('name');
$this->info('Hello, '.$name);
return self::SUCCESS;
}
}
?>
Запуск с аргументом:
php artisan user:hello Ivan
Без значения после имени команды
Artisan сообщит, что аргумент
обязателен. Опции вроде
{--upper} - тема
следующего урока; здесь только
{name} и
argument.
Добавьте в signature
аргумент {name}.
В handle прочитайте
его через argument
и выведите в info.
Запустите команду, передав имя в терминале.