Определение параметров команды (сигнатура)
Сигнатура – это как инструкция для пользователя, что нужно передать и как. Она описывает аргументы (обязательные параметры) и опции (дополнительные флаги).
Аргументы
Аргументы – это обязательные или необязательные значения, которые пользователь передает команде:
protected string $signature = 'user:profile {id}';
PHP
Пользователь вызовет: php imhotep user:profile 5
Правила для аргументов
| Синтаксис | Описание |
|---|---|
| {user} | Обязательный аргумент |
| {user?} | Необязательный аргумент |
| {user*} | Массив аргументов |
| {user?*} | Необязательный массив |
| {user?=imhotep} | Необязательный со значением по умолчанию |
Опции
Опции – это как переключатели. Они либо есть, либо нет, и могут принимать значения:
protected string $signature = 'send:email {user} {--queue} {--format=}';
PHP
Пользователь вызовет: php imhotep send:email john --queue --format=html
Правила для опций
| Синтаксис | Описание |
|---|---|
| {--format} | Просто флаг (без значения) |
| {--f|format} | С коротким псевдонимом |
| {--format=} | С обязательным значением |
| {--format=?} | С необязательным значением |
| {--format=*} | Массив значений |
| {--format=?*} | Необязательный массив |
| {--format=?default} | Со значением по умолчанию |
Примеры реальных сигнатур
// Список файлов с опциональным форматом вывода
$signature = 'list {--format=?txt}';
// Отправка письма с обязательным получателем и опциональным типом
$signature = 'mail:send {name} {type?=register}';
PHP
Следующие шаги
Теперь, когда вы умеете настраивать параметры команд, изучите:
- Ввод и вывод данных – получайте данные и выводите информацию
- Запуск команд – вызов команд из консоли
- Программный запуск команд – вызов команд из кода
- Создание команд – создавайте свои собственные команды