asseco-voice/laravel-eloquent-event-broadcaster

v2.1.0 2024-05-14 14:08 UTC

This package is auto-updated.

Last update: 2024-09-14 14:55:41 UTC


README

广播 Eloquent 事件

默认情况下,Laravel 的 Eloquent 事件 是内部派发的。此包允许事件被派发到事件总线。

安装

使用 composer require asseco-voice/laravel-eloquent-event-broadcaster 安装包。Laravel 的服务提供程序将自动安装。

使用 STOMP 作为队列驱动程序将支持多个 Laravel 服务之间的通信,因为它将使用原始数据派发事件,因此不会在另一侧中断。

这完全是可选的。如果您不使用 Laravel 微服务,您的数据将按照标准的 Laravel 方式进行序列化。

用法

使模型使用 BroadcastsEloquentEventscreatedupdateddeletedrestored 事件将被自动派发到 eloquent::model_events 队列。

发送的原始数据包括

  • payload 键包含原模型序列化为数组。
  • 让您的模型实现 AppendsData 接口以将附加数据添加到有效负载。
  • 更改 (_changes) 数组包含 old/new 值和更改模型实体的 type/ID。用于审计目的(可以通过配置禁用)。
  • 包括以下内容的头部
    • service - 小写蛇形应用名称
    • model - 完整模型命名空间和模型名称
    • action - 对模型执行了哪个操作(从注册的操作中提取,可以在配置中附加或修改)
  • 让您的模型实现 AppendsHeaders 接口以添加附加头部。

您可以通过发布配置来调整配置

php artisan vendor:publish --tag=asseco-broadcaster-config