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. 02构建 CRUD 或单次端点
  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

将业务逻辑提取到 Actions/Services

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

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

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

测试

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

评论

支持 Markdown