enfil / laravel-ddd-cqrs-modules
描述
dev-master
2023-04-18 12:30 UTC
Requires
- php: ^8.0
- enfil/laravel-helpers: dev-master
- nwidart/laravel-modules: 10.*
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-19 10:08:13 UTC
README
为了分解系统,建议识别有界业务逻辑上下文,并将它们分别分离成独立的模块
每个模块应负责一个相关上下文,并具有定义的目录结构,以确定核心层
此包基于 nwidart/laravel-modules 构建,并生成以下模块结构
域 - 域层
- Src
- 实体
- 用例
- 仓库
- 服务
应用 - 应用层
- API
- 服务
- 控制台
- 监听器
- 提供者
基础设施 - 基础设施层
- 配置
- 数据库
- 仓库
- 读取模型
展示 - 展示层
- HTTP
- 控制器
- 请求
- 中间件
测试
安装
需要包
composer require enfil/laravel-ddd-cqrs-modules codeception/codeception codeception/module-asserts codeception/module-phpbrowser
发布包的配置
php artisan vendor:publish --provider="Enfil\Laravel\DddCqrs\Modules\LaravelModulesServiceProvider"
将此行添加到 composer.json 自动加载
"autoload": { "psr-4": { ... "Modules\\": "modules/", ... } },
用法
例如,让我们以评论模块的 评论 为例。
假设主要实体的列表如下
- 评论
- 作者
模块生成和 CRUD
module:make-structure {MODULE_NAME} {ENTITY_NAMES*}
让我们运行命令。
创建新模块
php artisan module:make-structure Comments Comment Author
该命令应生成模块结构,创建主要实体,仓库接口,读取模型,服务,控制器,请求,配置,迁移,以及一个路由
现在您可以访问端点 http://localhost/comments/v1/ 并看到此消息
{"data":{"message":"Comment - module index"}}