laravel-actions 介绍一种面向 Action 的 Laravel 架构:每个业务操作都放在一个 Action 中。控制器、Job 和 Listener 不包含任何领域逻辑,只委托给 Action。Action 是可调用类,只含单个 __invoke() 方法,遵循单一职责,可组合 Action 构建工作流,彼此独立且无状态(可保存调用上下文),使用严格参数与返回类型,并在数据库修改时用事务包裹。命名采用 {动词}{实体}Action,如 CreateOrderAction。只要涉及领域操作(包括简单 CRUD),都应创建 Action;纯展示查询、HTTP 关注点和格式化逻辑则不创建。调用方式:可通过依赖注入,或使用 resolve() 辅助函数,不建议用 app()。数据修改应始终包在 DB::transaction 中;业务规则违反时抛出领域异常;可用 guard 方法预先校验。Action 可注入其他 Action 组合工作流,也可注入外部服务。目录按领域实体分组,而非按操作类型;多租户项目区分 Central 与 Tenanted。测试用 triple-A 模式对 Action 进行隔离测试。资料未提供安装命令、版本、平台、收费或价格信息。
laravel-actions
编程与开发
更新于 10-16 06:23