mcpField
L
laravel:controller-cleanup

laravel:controller-cleanup

github.com/jpcaparas開発157127 回インストール18 週間前に更新
リポジトリ

laravel:controller-cleanup について

Laravel 開発向けのスキルで、コントローラーを処理の調整に絞る方法を説明します。認可と検証を Form Request に、ビジネスロジックを Action や Service に分けたい開発者向けです。

主な機能

  1. 01Form Requestへの認証と検証の移動
  2. 02ActionやServiceへのロジック抽出
  3. 03Resourceまたは単一アクションの採用
  4. 04ルートとロジックの個別テスト

活用シーン

  1. 01コントローラーの責務整理
  2. 02フォーム入力の認証と検証
  3. 03ビジネスロジックの単体テスト

インストール

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

$npx skills add https://github.com/jpcaparas/superpowers-laravel --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 を個別にユニットテストします

コメント