Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Middle Artisan

Як описати аргументи й опції власної команди?

Через властивість $signature: аргументи - у фігурних дужках, опції - з --.

protected $signature = 'reports:send
                        {user : ID користувача}
                        {period=month : day, week або month}
                        {--queue : Поставити надсилання в чергу}
                        {--format=pdf : Формат файлу}
                        {--tag=* : Можна передати кілька разів}';
php artisan reports:send 7 week --queue --format=csv --tag=sales --tag=q3

Що означають позначки:

  • {user} - обов'язковий аргумент, {user?} - необов'язковий, {period=month} - зі значенням за замовчуванням;
  • {user*} - масив аргументів;
  • {--queue} - перемикач (true, якщо передали), {--format=} чи {--format=pdf} - опція зі значенням;
  • {--tag=*} - масив значень опції;
  • текст після : - опис для php artisan help reports:send.

Читання в handle():

$userId = $this->argument('user');
$asCsv  = $this->option('format') === 'csv';

Залежності беруть параметрами handle() - контейнер їх впровадить. Для обов'язкових аргументів, які зручно запитати інтерактивно, є інтерфейс PromptsForMissingInput.

Докладніше в документації: Опис очікуваного вводу

Перевір себе

20 випадкових питань за спробу, після завершення - розбір кожної помилки

Схожі питання