Laravelのコマンドを実装するとき
/** * コンソールコマンドの名前と引数、オプション * * @var string */ protected $signature = 'update:user {--user_id}'; /** * コンソールコマンドの説明 * * @var string */ protected $description = ’ユーザー情報を更新する’;
こうやってコマンドの説明は書けるけど、引数をもっとわかりやすくするコメントの書き方が。
引数に『 : 』を使う
/** * コンソールコマンドの名前と引数、オプション * * @var string */ protected $signature = 'update:user {--user_id : 更新対象のユーザーid}';
こう書くと、 -h
でヘルプを出したときに、引数のヘルプとして表示される
デフォルト引数にならないように注意
実は、引数にデフォルト値を用意することができて、それは =
の後に値を入れるのですが、
/** * コンソールコマンドの名前と引数、オプション * * @var string */ protected $signature = 'update:user {--user_id= :更新対象のユーザーid}';
こんなふうに :
の後にスペースを入れ損なうと、コメントではなくデフォルト値になるので、注意・・・
私はこれでハマりました・・・w
お疲れ様でした。