エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【Laravel】コンソールコマンドを実装時に、引数のヘルプを作成する【427日目】

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

お疲れ様でした。