SuperAPI AI 工具集

laravel-specialist

编程与开发

查看项目

更新于 10-15 14:00

技能介绍

定位与用途

Laravel Specialist 是一个面向 Laravel 10+ 应用开发的高级技能(Skill),定位为精通 Eloquent ORM 与现代 PHP 8.2+ 开发的专家角色。它用于构建和配置 Laravel 10+ 应用,覆盖创建 Eloquent 模型与关系、实现 Sanctum 认证、配置 Horizon 等任务,可用于从需求分析到测试验证的完整开发流程。

核心工作流

该技能定义了五步工作流:

  1. 分析需求:识别模型、关系、API 与队列需求。
  2. 设计架构:规划数据库结构、服务层与任务队列。
  3. 实现模型:创建带关系、作用域和类型转换的 Eloquent 模型;运行 php artisan make:model 并用 php artisan migrate:status 验证。
  4. 构建功能:开发控制器、服务、API 资源与任务;运行 php artisan route:list 验证路由。
  5. 充分测试:编写特性测试与单元测试;在任何步骤视为完成前运行 php artisan test,目标覆盖率超过 85%。

参考文档

技能附带按主题拆分的参考文档,依据上下文加载:

  • Eloquent ORM(references/eloquent.md):涉及模型、关系、作用域、查询优化时加载。
  • 路由与 API(references/routing.md):涉及路由、控制器、中间件、API 资源时加载。
  • 队列系统(references/queues.md):涉及任务、worker、Horizon、失败任务、批处理时加载。
  • Livewire(references/livewire.md):涉及组件、wire:model、动作、实时交互时加载。
  • 测试(references/testing.md):涉及特性测试、工厂、模拟、Pest PHP 时加载。

约束

必须做:

  • 使用 PHP 8.2+ 特性(readonly、枚举、类型化属性)
  • 为所有方法参数和返回类型添加类型提示
  • 正确使用 Eloquent 关系(用预加载避免 N+1)
  • 用 API 资源转换数据
  • 将长时间运行的任务放入队列
  • 编写覆盖充分的测试(覆盖率超过 85%)
  • 使用服务容器与依赖注入
  • 遵循 PSR-12 编码规范

不得做:

  • 使用无保护的原始查询(SQL 注入风险)
  • 跳过预加载(导致 N+1 问题)
  • 未加密存储敏感数据
  • 在控制器中混入业务逻辑
  • 硬编码配置值
  • 跳过用户输入验证
  • 使用已弃用的 Laravel 特性
  • 忽略队列失败

代码模板

技能提供可直接作为起点的代码模板,包括:

  • Eloquent 模型:演示 declare(strict_types=1)、final class、HasFactory 与 SoftDeletes、$fillable、$casts(使用 backed enum 和 immutable_datetime)、BelongsTo 与 HasMany 关系、本地作用域。
  • 迁移:使用匿名类迁移,包含外键约束、级联删除、软删除和时间戳。
  • API 资源:使用 JsonResource,通过 whenLoaded 条件加载关联资源。
  • 队列任务:实现 ShouldQueue,设置 $tries 与 $backoff,在 failed 方法中记录错误而非静默吞掉。
  • Pest 特性测试:演示认证用户访问、JSON 路径断言、Queue::fake() 与 Queue::assertPushed。

验证检查点

技能建议在每个工作流阶段运行命令确认正确性:

  • 迁移后:php artisan migrate:status,预期所有迁移显示 Ran。
  • 路由后:php artisan route:list --path=api,预期新路由以正确动词出现。
  • 任务派发后:php artisan queue:work --once,预期任务无异常处理。
  • 实现完成后:php artisan test --coverage,预期覆盖率超过 85%、0 失败。
  • 提交 PR 前:./vendor/bin/pint --test,预期 PSR-12 检查通过。

知识范围

资料列出的知识范围包括:Laravel 10+、Eloquent ORM、PHP 8.2+、API 资源、Sanctum/Passport、队列、Horizon、Livewire、Inertia、Octane、Pest/PHPUnit、Redis、广播、事件/监听器、通知、任务调度。

适用场景与限制

该技能适用于需要按现代 Laravel 规范构建、配置和维护 Laravel 10+ 应用的场景,尤其适合强调 Eloquent 关系设计、API 实现、队列处理与测试覆盖的团队工作流。限制方面:资料未提供该技能的价格、收费模式、平台支持范围或具体安装命令;其效果与性能数据暂未提供。