mcpField
L
laravel-controller-cleanup

laravel-controller-cleanup

github.com/noartem開発1374 回インストール3 週間前に更新
リポジトリ

laravel-controller-cleanup について

Laravel 開発向けのスキルで、コントローラーをリクエストの調整に集中させます。検証、ビジネスロジック、エンドポイントの責務を分け、各層をテストする方法を示します。

主な機能

  1. 01検証を Form Request に移動
  2. 02ロジックを Action や Service に抽出
  3. 03リソースまたは単一アクションコントローラーを使用
  4. 04ルートとビジネスロジックを個別にテスト

活用シーン

  1. 01責務が混在したコントローラーのリファクタリング
  2. 02CRUD や単発エンドポイントの構築
  3. 03ビジネスロジックの個別テスト

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/noartem/skills --skill laravel-controller-cleanup

インストール後、Claude Code で/laravel-controller-cleanupを入力して読み込まれたか確認します。

詳細

コントローラーの整理

コントローラーは小さく保ち、オーケストレーションに専念させます。

認証/バリデーションをフォームリクエストに移す

  • Request クラス(例:StoreUserRequest)を作成し、authorize() と rules() を使用します
  • コントローラーのメソッドで Request を型指定します。Laravel がアクションの実行前に処理します
php artisan make:request StoreUserRequest

ビジネスロジックをアクション/サービスに切り出す

  • 小規模な処理には単一の役割に特化した Action を、大規模なワークフローには Service を作成します
  • フレームワークの関心事が漏れないよう、Request から Action に DTO を渡します
final class CreateUserAction {
    public function __invoke(CreateUserDTO $dto): User { /* ... */ }
}

リソースコントローラーまたは単一アクションコントローラーを優先する

  • 標準的な CRUD にはリソースコントローラーを使用します
  • 単発のエンドポイントには、呼び出し可能な(単一アクション)コントローラーを使用します

テスト

  • コントローラーのルートに対するフィーチャーテストを作成します
  • DTO を使用して Action/Service を個別にユニットテストします

コメント