Laravel 正日益成熟——因此我构建了一个与之匹配的工作流引擎(整洁架构 + 身份与访问管理 + 令牌审批)

发布日期:2026-04-20 09:23:30   浏览量 :0
发布日期:2026-04-20 09:23:30  
0

2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家 

本周开发者社区摘要强调了一个有趣的现象:

拉雷维尔(Laravel)开发者正超越“臃肿控制器”模式,转向整洁架构和企业级系统。

这正是我一直在致力解决的问题。

⚠️ 问题所在(我们都曾面临)

如果你曾构建过以下任何功能:

  • 请假审批
  • 费用报销审批
  • 采购流程

你早已清楚现实情况:

  • 业务逻辑混杂在控制器中
  • 到处充斥着角色权限检查
  • 审批邮件泛滥成灾
  • 难以扩展,更难以维护

而每个项目呢?

你都在重新构建相同的工作流逻辑。

💸 为什么大多数团队的做法是错误的

典型的解决方案包括:

  • 软件即服务(SaaS)工具
  • 扎皮尔(Zapier)自动化
  • 基于电子邮件的审批

这导致了以下后果:

  • 持续性成本支出
  • 定制化能力有限
  • 可见性差
  • 缺乏真正的控制权

🧠 我转而构建的方案

我没有构建另一个功能模块。

我构建了一个可复用的审批工作流引擎

  • 多级审批流水线
  • 基于角色的访问控制(兼容身份与访问管理)
  • 事件驱动的生命周期
  • 基于令牌(Token)的审批(无需登录)
  • 智能通知批量处理

🧩 架构设计(这才是关键)

适配器(应用程序接口 / 命令行界面 / 消息队列)
        ↓
工作流管理器
        ↓
工作流引擎(纯逻辑层)
        ↓
领域模型(状态层)
        ↓
事件 → 监听器 → 通知

核心理念:

该引擎对超文本传输协议(HTTP)、用户界面(UI)或软件即服务(SaaS)一无所知。

🔥 它的独特之处

1. 无头工作流引擎

$manager->start('requisition', $payload);
$manager->approve($workflowId, $userId);

无控制器依赖。可在任何地方运行。

2. 兼容身份与访问管理(但解耦)

  • 引擎不处理身份验证
  • 它仅接收user_id(用户标识)
  • 身份与访问管理(IAM)在外部处理权限

👉 清晰的分离 = 可扩展的系统

3. 基于令牌(Token)的审批(颠覆性创新)

POST /api/v1/approvals/token/approve
  • 安全
  • 具有过期时间
  • 一次性使用

👉 直接从电子邮件或斯拉克(Slack)进行审批
👉 无需登录

4. 智能通知批量处理

不再是:

10 次审批 → 10 封电子邮件 ❌

而是变为:

10 次审批 → 1 封电子邮件 ✅

5. 工作流执行的幂等性

hash('sha256', payload)

防止在重试时产生重复的工作流。

🧪 构建

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
支持 反馈 订阅 数据
回到顶部