Laravel開発において避けて通れない「雛形(ボイラープレート)の自動生成」。日々の開発で頻繁に使う
php artisan make:コマンドの組み合わせや、便利なオプションを自分用に整理しました。
Laravelでアプリケーションを構築する際、モデルやコントローラー、マイグレーションファイルを手動で一から作成するのは時間がかかりますし、タイポ(打ち間違い)の原因にもなります。
今回は、開発をスムーズに進めるために欠かせない php artisan make: コマンドの主要な組み合わせと、開発効率を爆発的に上げるオプションについて、備忘録としてまとめました。
1. 最もよく使うコマンドとオプション
モデル、マイグレーション、コントローラーは、基本的に「セット」で作成することがほとんどです。これらを1行のコマンドで同時に生成するオプションが非常に便利です。
究極のショートカット(モデル・マイグレーション・コントローラーの一括生成)
php artisan make:model Post -オプションオプションは下記の組み合わせを利用出来ます。
-m(Migration):database/migrations/..._create_posts_table.php(マイグレーションファイル)-c(Controller):app/Http/Controllers/PostController.php(コントローラー)-r(Resource): コントローラー内にindex,create,store,show,edit,update,destroyのCRUDメソッドの雛形をあらかじめ用意する- -f (Factory): テスト用のダミーデータ(1つの投稿データなど)の雛形
- -s(Seeder): 初期データやダミーデータをデータベースに一括挿入する
- -a(All):マイグレーション、シーダー、ファクトリ、ポリシー、コントローラ(フォームリクエスト付き)をすべて自動生成
- –test(PHPUnit用): テスト用PHPファイルが作成される
2. カテゴリ別:頻出 make コマンド
単体、あるいは特定の組み合わせでよく使うコマンドの整理です。
① データベース関連
モデルやテストデータの準備で使用します。テスト用のダミーデータ生成(Factory/Seeder)は、開発初期段階で頻繁に作成します。
# マイグレーションファイルのみを単体作成
php artisan make:migration create_comments_table
# 初期データ投入用のシーダーを作成
php artisan make:seeder CommentSeeder
# ダミーデータ定義用のファクトリを作成
php artisan make:factory CommentFactory② HTTP・ビジネスロジック関連
フォームのバリデーションルールをコントローラーから切り離す「FormRequest」や、API用のレスポンスを整形する「Resource」は、コードの可読性を保つために必須です。
# フォームリクエスト(バリデーション用)の作成
php artisan make:request StorePostRequest
# APIリソース(JSON整形用)の作成
php artisan make:resource PostResource
# ミドルウェア(認証やアクセス制限など)の作成
php artisan make:middleware CheckAdmin3. 注意しておきたいポイント・命名規則
Laravelの make コマンドは、命名規則(コーディング規約)に従って実行することで、フレームワーク側が自動でリレーションやテーブル名を解決してくれます。
- モデル名:
- 必ず 「頭文字は大文字の単数形」 にする。(例:
Post、UserComment) - 自動生成されるマイグレーション(テーブル名)は自動的に複数形(
posts、user_comments)になります。
- 必ず 「頭文字は大文字の単数形」 にする。(例:
- ファクトリ名:
- モデル名に
Factoryをつける。(例:PostFactory) - 命名規則を外れると、テスト実行時に「Class not found」のエラーに繋がることがあるため注意。
- モデル名に
まとめと今後の展望
手動でファイルを作成すると、名前空間(namespace)の記述ミスや、格納ディレクトリのミスが起こりやすいです。 基本的には php artisan make: を通してファイルを生成することを徹底し、無駄なエラーで開発がストップするのを防いでいきましょう。



コメント