Любой мнимый параметр в команде laravel - PullRequest
0 голосов
/ 16 февраля 2020

Возможно ли передать какой-либо мнимый параметр командой laravel? Этот параметр не должен быть определен в реализации команды. Например, вот подпись команды:

protected $signature = 'generateInvoices {--filter=*}';

Тогда я могу использовать эту команду:

php artisan generateInvoices --filter=filter1 --filter=filter2

, но я хочу использовать другие параметры:

php artisan generateInvoices --filter=filter1 --filter=filter2 --somethingelse=23 --thisIsNextParam=4 myImaginaryparam=54

1 Ответ

0 голосов
/ 16 февраля 2020

Вы не можете выполнить Dynami c параметр "параметры" (отмечен --), но вы можете сделать массив необязательных аргументов.

protected $signature = 'generateInvoices {--filter=*} {extraArgs?*}';

Затем запустить дополнительные детали без --, вы можете получить массив дополнительных аргументов, которые вам нужно проанализировать отдельно.

php artisan generateInvoices --filter=filter1 --filter=filter2 somethingelse=23 thisIsNextParam=4 myImaginaryparam=54

Использование $this->argument('extraArgs) `даст вам массив анализируемых значений.

Результаты все данные доступны для вашей команды:

"Options: "
array:9 [
  "filter" => array:2 [
    0 => "filter1"
    1 => "filter2"
  ]
  "help" => false
  "quiet" => false
  "verbose" => false
  "version" => false
  "ansi" => false
  "no-ansi" => false
  "no-interaction" => false
  "env" => null
]
"Arguments: "
array:2 [
  "command" => "generateInvoices"
  "extraArgs" => array:3 [
    0 => "somethingelse=23"
    1 => "thisIsNextParam=4"
    2 => "myImaginaryparam=54"
  ]
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...