Skip to content

Everything Claude Code 的 laravel-patterns Skill 是专为 Laravel 项目打造的生产级架构模式工具,涵盖分层结构、Eloquent ORM、Service/Action 层、队列、API Resources、缓存、事件等核心实践。通过此 Skill,AI 编程助手能自动建议和生成规范的 Laravel 代码结构,极大提升协作效率与代码质量。本文将详细介绍其适用场景、激活方式、分步操作流程、典型输出,以及与其他 Agent/Skill 的协作关系。

Everything Claude Code Laravel Patterns Skill:架构、Eloquent ORM、Service 层、队列与 API Resources

在 Laravel 项目开发中,如何快速落地可维护、易扩展的分层架构、规范 Eloquent ORM 使用、合理拆分 Service/Action 层、配置队列与 API 资源响应,是影响团队效率和代码质量的关键。Everything Claude Code 的 laravel-patterns Skill,正是为此场景而设计:它让 AI 编程助手(如 Claude Code、Codex、Cursor 等)具备“懂 Laravel 生产级最佳实践”的能力,自动输出结构化、可落地的代码和架构建议。

1. 这个 Skill 解决什么问题?

没有 laravel-patterns Skill 时:

  • AI 助手容易生成“胖控制器”、逻辑混杂、模型滥用等反模式代码。
  • 路由、模型绑定、DTO、API Resource、队列、缓存等 Laravel 特色用法难以系统落地。
  • 项目结构混乱,后期维护和扩展成本高。

有 laravel-patterns Skill 后:

  • AI 会自动建议“控制器-服务-Action-模型”分层,输出标准目录结构。
  • 生成的代码自动用 Eloquent 模型、FormRequest、API Resource、队列、事件、缓存等 Laravel 规范。
  • 输出带有类型约束、作用域、DTO、全局/命名 Scope、事务等高级用法,避免常见陷阱。
  • 支持多 Agent 协作,能与 Code Reviewer AgentLaravel Security Skill 等配套使用,形成完整的 Laravel 开发流水线。

2. 触发条件与激活场景

laravel-patterns Skill 会在以下场景自动激活或可手动指定:

  • 新建 Laravel 项目或模块时,AI 被要求“生成订单模块/用户管理/REST API”时自动应用。
  • 重构/审查现有代码,AI 检测到控制器/模型过重、缺乏分层时主动建议最佳实践。
  • 生成复杂查询、DTO、API 资源、队列任务、事件监听等代码时,Skill 自动输出对应模式。
  • 与其他 Skill/Agent 联动,如 Laravel TDD Skill 生成测试、Verification Loop Skill 做端到端验证时,自动补全缺失的分层和资源结构。

3. 实际项目中的分步使用指南

Step 1:初始化项目结构

当你让 AI 生成一个新模块或重构现有模块时,laravel-patterns Skill 会输出如下推荐目录结构:

text
app/
├── Actions/            # 单一用例/操作
├── Http/
│   ├── Controllers/
│   ├── Requests/       # 表单/DTO 校验
│   └── Resources/      # API Resource
├── Jobs/               # 队列任务
├── Models/
├── Services/           # 领域服务
config/
routes/

示例输出:

“建议将订单相关业务拆分为 OrdersController、CreateOrderAction、OrderService、Order 模型,并为 API 响应创建 OrderResource。”

Step 2:控制器-服务-Action 分层

操作: 让 AI 生成“创建订单”接口。

AI 输出(简化版):

php
final class CreateOrderAction
{
    public function __construct(private OrderRepository $orders) {}

    public function handle(CreateOrderData $data): Order
    {
        return $this->orders->create($data);
    }
}

final class OrdersController extends Controller
{
    public function __construct(private CreateOrderAction $createOrder) {}

    public function store(StoreOrderRequest $request): JsonResponse
    {
        $order = $this->createOrder->handle($request->toDto());

        return response()->json([
            'success' => true,
            'data' => OrderResource::make($order),
            'error' => null,
            'meta' => null,
        ], 201);
    }
}

说明: 控制器只做输入输出,业务逻辑交给 Action/Service,便于测试和复用。

Step 3:路由与模型绑定

操作: 让 AI 生成 RESTful 路由,自动用 apiResource 和 scopedBindings。

AI 输出:

php
Route::middleware('auth:sanctum')->group(function () {
    Route::apiResource('projects', ProjectController::class);
});

进阶: 嵌套路由防止越权,AI 会自动建议 scopedBindings。

Step 4:Eloquent 模型规范与查询优化

操作: 让 AI 生成带作用域、类型转换的模型。

AI 输出:

php
final class Project extends Model
{
    protected $fillable = ['name', 'owner_id', 'status'];
    protected $casts = [
        'status' => ProjectStatus::class,
        'archived_at' => 'datetime',
    ];
    public function scopeActive(Builder $query): Builder
    {
        return $query->whereNull('archived_at');
    }
}

说明: 自动用 enum/value object 做类型安全,输出作用域、全局 Scope、软删除等模式。

Step 5:API Resource 和分页

操作: 让 AI 生成 API 响应,自动用 Resource 和分页。

AI 输出:

php
$projects = Project::query()->active()->paginate(25);

return response()->json([
    'success' => true,
    'data' => ProjectResource::collection($projects->items()),
    'error' => null,
    'meta' => [
        'page' => $projects->currentPage(),
        'per_page' => $projects->perPage(),
        'total' => $projects->total(),
    ],
]);

Step 6:队列、事件与缓存

操作: 让 AI 生成“订单支付后发送邮件/导出报表”逻辑。

AI 输出:

  • 建议用事件(Event)触发,耗时操作用 Job 队列异步处理,并自动加上重试/幂等建议。
  • 对于读多写少的接口,自动建议缓存并在模型变更事件自动失效。

Step 7:配置与环境管理

操作: 让 AI 生成配置项和多环境支持。

AI 输出:

  • 建议将敏感信息放入 .env,配置集中于 config/*,生产环境用 config:cache。

4. 输出示例

完整输出通常包含:

  • 推荐的目录结构和文件命名
  • 控制器、Action、Service、Model、FormRequest、Resource、Job、Event 的代码骨架
  • 路由定义(含嵌套与绑定)
  • Eloquent 查询与作用域、类型转换、DTO/VO
  • API Resource 响应与分页结构
  • 队列、事件、缓存的用法建议

实际效果: 你只需描述业务目标,AI 会自动输出高质量的 Laravel 代码骨架,并解释每一步设计理由。

5. 常见配套 Agent/Skill 与协作关系

更多关于 ECC Agent/Skill 体系的协作模式,可参考 Everything Claude Code 完全指南

FAQ

Q: 这个 Skill 适合哪些类型的 Laravel 项目?
A: 适合所有需要高可维护性、可扩展性的 Laravel Web/API 项目,尤其是中大型团队协作或长期演进的生产环境。

Q: 如何与已有项目集成?
A: 可在 AI 助手配置中启用 laravel-patterns Skill,AI 会自动识别并建议重构、补全分层和资源结构,无需大规模迁移。

Q: Skill 能自动处理多层嵌套路由和模型绑定吗?
A: 是的,Skill 会根据业务关系自动输出 scopedBindings、参数命名和嵌套路由规范,防止跨租户/越权访问。