Laravel 5.2
あなたがする必要があるのは、$signature
プロパティの引数(またはオプション、例えば--option)を配列として指定することです。Laravelはこれをアスタリスクで示しています。
引数
たとえば、画像を「処理」する職人のコマンドがあるとします。
protected $signature = 'image:process {id*}';
その後、次のことを行います。
php artisan help image:process
…laravelは正しいUnixスタイルの構文を追加します。
Usage:
image:process <id> (<id>)...
リストにアクセスするには、handle()
メソッドで次を使用します。
$arguments = $this->argument('id');
foreach($arguments as $arg) {
...
}
オプション
オプションでも機能すると言ったので、代わりに使用{--id=*}
し$signature
ます。
ヘルプテキストには次のように表示されます。
Usage:
image:process [options]
Options:
--id[=ID] (multiple values allowed)
-h, --help Display this help message
...
したがって、ユーザーは次のように入力します。
php artisan image:process --id=1 --id=2 --id=3
のデータにアクセスするにはhandle()
、次を使用します。
$ids = $this->option('id');
'id'を省略すると、'quiet'、'verbose'などのブール値を含むすべてのオプションが表示されます。
$options = $this->option();
のIDのリストにアクセスできます$options['id']
LaravelArtisanガイドで詳細をご覧ください。