关于 laravel-controller-cleanup
面向 Laravel 开发的技能,指导控制器专注于请求编排,并将验证、业务逻辑和端点职责分开。
主要功能
- 01将验证移入 Form Request
- 02把逻辑提取到 Action 或 Service
- 03使用资源或单动作控制器
- 04分别测试路由与业务逻辑
适用场景
- 01重构职责混杂的控制器
- 02构建 CRUD 或单次端点
- 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