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) {
...
}
選項
我說工作了選項也一樣,你在$signature
使用{--id=*}
代替。
幫助文本將顯示:
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',您將獲得全部選項,包括對於「安靜」,「詳細」等
$options = $this->option();
布爾值,您可以訪問在Laravel Artisan guide$options['id']
更多信息ID列表。
非常感謝! – did1k