mr-luke / framekit
此包的最新版本(2.0.0-rc.3)没有可用的许可证信息。
事件源包
2.0.0-rc.3
2023-06-22 14:31 UTC
Requires
- php: ^8.1
- ext-json: *
- laravel/framework: ^10.0|^9.0|^8.0
- mr-luke/bus: ^1.0
- mr-luke/configuration: ^1.0
- nesbot/carbon: ^2.61
Requires (Dev)
- fakerphp/faker: ^1.20
- mockery/mockery: ^1.0
- orchestra/testbench: ^8.0
- pdepend/pdepend: ^2.12
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-22 17:11:53 UTC
README
入门
Framekit 是一个 Laravel 扩展包,旨在通过事件源加速 DDD 模型构建。它实现了 CQRS 架构。此版本将被 2.0.0
版本取代,其中一些概念将被重新编写。
安装
要通过 composer 安装,请将以下内容添加到您的 composer.json 文件中,并运行 composer update
{ "require": { "mr-luke/framekit": "~1.0" } }
或者使用以下命令
composer require "mr-luke/framekit"
配置
要使用 Framekit
,我们需要设置一些 env
变量。要查看所有变量,请运行以下命令
php artisan vendor:publish
基本组件
\Framekit\AggregateRoot
这是我们的主要构建组件。由于 DDD 块结构,它是我们的根或模型树。聚合的核心是我们的实体模型。
\Framekit\State
这是我们实体的高级抽象,我们称之为状态。
\Framekit\Event
每个聚合都使用事件作为状态流控制块。
\Framekit\Projection
由于我们使用 CQRS,这是一个将我们的模型分解为查询侧模型指令。
\Framekit\Retrospection
事件源让我们能够沿着流行走,以对事件进行回顾。
还有许多其他元素可以探索...