🐘
Laravel でモデル作成時によく使用するオプション
状況
モデル作成時にコントローラなども合わせてコマンドで作成すると良い.よく忘れるのでまとめ.
Web のみ作成する場合
Web の場合は,オプションで全部まとめて作成できる.まとめて作成した場合,コントローラのファイルはリクエストクラスが指定された状態で作成される.とても便利.
作成されるもの
- モデル
-
-r
リソースコントローラ -
-m
マイグレーションファイル -
-f
ファクトリ -
-R
リソースコントローラのリクエストクラス
php artisan make:model Post -rmfR
Api のみ作成する場合
Api のみ作成する場合は,下記の点を考慮してコントローラとリクエストは個別のコマンドを使用したほうが良さそう.
-
Api のコントローラは
Api
ディレクトリに置きたい(オプションで作成するとディレクトリ外に作成される). -
リクエストを作成するオプションを使用する場合,
-r
オプションまたは--api
を同時に使用する必要があるため.
php artisan make:model Post -mf
php artisan make:controller Api/PostController --api
php artisan make:request CreatePostRequest
php artisan make:request UpdatePostRequest
# 作成されたコントローラでリクエストクラスの指定が必要
Web と Api の両方を作成する場合
また,Web のコントローラと Api のコントローラ両方を作成する場合は下記のようになる.
# 🔽 モデル,マイグレーションファイル,ファクトリ,Webのリソースコントローラ,リクエストをまとめて作成
php artisan make:model Post -rmfR
# 🔽 Apiのリソースコントローラを作成(コントローラのファイルでリクエストクラスの指定が必要)
php artisan make:controller Api/PostController --api
まとめ
Web の場合と Api の場合でコントローラの作成方法が異なるため,それぞれの場合で使い分けると良さそう.
以上だ( `・ω・)b
Discussion