SuperAPI AI 工具集

laravel-advanced-concepts

通用与其它

查看项目

更新于 10-16 03:41

技能介绍

用途:该技能面向 Laravel 应用中的三类复杂但常见问题,提供模式选择与实现指引。资料给出“快速模式选择器”:积分/钱包/账本类需求适合事件溯源(余额=事件之和,具备不可变审计轨迹);订单状态、预订生命周期适合状态机(在模型层阻止非法流转);新功能灰度、Beta 访问适合功能开关(部署与发布解耦)。GDPR“被遗忘权”可用事件溯源按用户加密事件、销毁密钥实现;订阅计划管理(active→paused→cancelled)适合状态机;A/B 测试适合功能开关;完整审计日志与时间旅行适合事件溯源。

主要能力与库:功能开关推荐官方 Laravel Pennant(Laravel 10.2+),核心概念包括 Feature(解析为 true/false 或变体值)、Scope(评估对象,通常是已认证用户,也可为任意模型)、Driver(状态存储位置,如 database 按 scope 存储、array 用于测试内存)。状态机推荐 spatie/laravel-model-states,具备 Eloquent 集成、流转校验与自定义流转类。事件溯源可选 spatie/laravel-event-sourcing(成熟、文档完善,含 Aggregates、Projectors、Reactors)或 hirethunk/verbs(较新、API 更简单、类型安全,适合新项目)。

使用方式与限制:资料未提供具体安装命令与代码示例,仅指向 references/feature-flags.md、references/state-machines.md、references/event-sourcing.md 获取安装、完整 API 与模式。不适用场景:状态只是无流转逻辑的标签时用普通 enum 更简单;流转完全不受限时直接更新字段即可;无审计需求的简单 CRUD 不必用事件溯源;团队不熟悉事件溯源时其心智模型转变成本较高,软删除加时间戳通常已足够。组合用法:状态机+事件溯源可记录每次流转为事件,兼顾正确性与可审计性;功能开关可与其他模式组合,用于迁移期间控制新聚合或状态机变体的访问。