mcpField
L
laravel:controller-cleanup

laravel:controller-cleanup

github.com/jpcaparas开发157127 次安装18 周前更新
代码仓库

关于 laravel:controller-cleanup

这项 Laravel 开发技能指导开发者让控制器专注于流程协调,将验证和授权移入 Form Request,并把业务逻辑提取到 Action 或 Service。

主要功能

  1. 01将授权与验证移至 Form Request
  2. 02将逻辑提取到 Action 或 Service
  3. 03采用 Resource 或单动作控制器
  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

将业务逻辑提取到 Actions/Services

  • 创建一个小型 Action(专注做好一件事),或为较大型工作流创建 Service
  • 将 DTO 从 Request 传递给 Action,避免泄露框架相关内容
final class CreateUserAction {
    public function __invoke(CreateUserDTO $dto): User { /* ... */ }
}

优先使用 Resource 或单操作控制器

  • 对标准 CRUD 使用资源控制器
  • 对于一次性端点,使用可调用(单操作)控制器

测试

  • 为控制器路由编写功能测试
  • 使用 DTO 独立对 Actions/Services 进行单元测试

评论

支持 Markdown