envor/libstream

这是我创建的包libstream

v1.0.7 2024-08-01 17:46 UTC

This package is auto-updated.

Last update: 2024-09-26 18:10:11 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

安装

您可以通过composer安装此包

composer require envor/libstream

您可以使用以下命令发布和运行迁移

php artisan vendor:publish --tag="libstream-migrations"
php artisan migrate

用法

use Envor\Libstream\Command as LibCommand;
use App\Aggregates\Main;

#[HandledBy(Main::class)]
class Command extends LibCommand
{
    public static function createBusiness(
        string $uuid, 
        array $businessAttributes, 
        array $metaData = []
        ): self
    {
        return new self(new BusinessCreated(
            aggregateUuid: $uuid,
            businessAttributes: $businessAttributes,
            metaData: $metaData
        ));
    }
}
use Envor\Libstream\Dispatcher as LibDispatcher

class Dispatcher extends LibDispatcher
{
    public function createBusiness(
        string $uuid, 
        array $businessAttributes, 
        array $metaData = []
        ): self
    {
        $this->add(new Command(new BusinessCreated(
            aggregateUuid: $uuid,
            businessAttributes: $businessAttributes,
            metaData: $metaData
        )));

        return $this;
    }
}
    $uuid = (string) str()->ulid();
    $dispatcher = Dispatcher::new()->createBusiness(
      uuid: $uuid,
      businessAttributes: $validatedData,
      metaData: [
        'auth' => [
          'email' => Auth::user()->email,
        ],
      ]
    )->dispatch();

测试

composer test

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

贡献

请参阅贡献指南以获取详细信息。

安全漏洞

请查看我们的安全策略以了解如何报告安全漏洞。

致谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。