SuperAPI AI 工具集

laravel-expert

编程与开发

查看项目

更新于 10-31 13:16

技能介绍

Laravel Expert 是一份供 AI 在执行过程中阅读的 Laravel/PHP 参考,重点整理常见陷阱(gotchas)与决策标准(decisions)。其定位是 AI 消费型参考,而非面向人类的教程;人类可读的说明需查看 docs/architecture/HIERARCHICAL_PLANNING.md 或 docs/getting-started/ 下的相关主题。完整 Laravel 文档建议使用 Context7 获取。

用途 该技能用于在编写或审查 Laravel/PHP 代码时,为 AI 提供快速判断依据,避免常见错误,并在多种实现方式之间做出合理选择。

主要能力

  1. 关键决策参考:给出四组选择及其适用场景。
  • Form Request 与内联验证:可复用的验证使用 Form Request,一次性简单检查使用内联。
  • Service 与 Action 类:无状态业务逻辑使用 Service,离散操作使用带单个 __invoke 的 Action。
  • 事件/监听器与直接调用:需要解耦(通知/日志)时使用事件,紧密耦合的操作直接调用。
  • Eloquent 与查询构建器:带关系的领域模型使用 Eloquent,报表/批量操作使用查询构建器。
  1. 常见陷阱清单:
  • N+1:始终使用 with() 预加载;在 AppServiceProvider 中使用 preventLazyLoading() 以便在开发环境捕获问题。
  • readonly DTO(PHP 8.2+):示例为 readonly class UserData { public function __construct(public string $name) {} }。
  • updateOrCreate 不是原子操作,可能存在竞态条件;关键操作应使用数据库事务。
  • $model->save() 返回布尔值而非模型,不要链式调用;Model::create() 返回模型。
  • 批量赋值:使用 $fillable 白名单或 $guarded = [];切勿在用户输入场景使用 $guarded = []。
  • firstOrFail() 抛出 ModelNotFoundException(404);first() 静默返回 null。
  • 队列任务:始终实现 ShouldQueue;否则即使调用 dispatch() 也会同步执行。
  • 测试中的 Carbon::now():使用 $this->travel() 或 Carbon::setTestNow() 以获得确定性测试。
  • 迁移:永远不要编辑已部署的迁移;变更应创建新迁移。

使用方式 该技能以 AI 可读的紧凑格式组织内容,供 Claude 等模型在执行任务时直接读取。资料未提供具体的安装命令、调用接口或集成步骤,暂未提供。

适用场景 适用于 Laravel/PHP 项目的开发与代码审查,尤其是涉及 Eloquent 查询优化、验证结构选择、业务逻辑组织、队列任务、测试时间控制以及数据库迁移变更等场景。

限制 资料未说明该技能的收费、价格、平台支持范围或效果保证,暂未提供。其内容为参考性清单,不替代完整 Laravel 文档;完整文档需通过 Context7 获取。