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

Опции Artisan-команды в Laravel

Кроме обязательных аргументов бывают флаги: включить режим, сделать вывод заглавным, пропустить шаг. В Artisan это опции. В $signature их пишут как {--upper} - с двумя дефисами в имени.

В handle опцию читают через $this->option('upper'). Без флага в терминале значение ложно; с --upper - истинно:

<?php namespace App\Console\Commands; use Illuminate\Console\Command; class HelloUserCommand extends Command { protected $signature = 'user:hello {name} {--upper}'; protected $description = 'Say hello to a user'; public function handle(): int { $name = $this->argument('name'); if ($this->option('upper')) { $name = mb_strtoupper($name); } $this->info('Hello, '.$name); return self::SUCCESS; } } ?>

Запуск без опции и с опцией:

php artisan user:hello Ivan php artisan user:hello Ivan --upper

Аргумент {name} по-прежнему обязателен; --upper - по желанию. Так разделяют «что передать» и «как обработать». В option имя без дефисов: 'upper', не '--upper'.

Добавьте в signature {--upper}.

В handle проверьте option('upper') и измените вывод.

Запустите команду с --upper и без него.

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить