asseco-voice / laravel-eloquent-event-broadcaster
Laravel Eloquent 事件广播
v2.1.0
2024-05-14 14:08 UTC
Requires
- php: ^8.1
- asseco-voice/laravel-stomp: ^4.0
- laravel/framework: ^10.0
Requires (Dev)
- fakerphp/faker: ^1.9.1
- mockery/mockery: ^1.4.4
- orchestra/testbench: ^8.5
- phpunit/phpunit: ^10.0
README
广播 Eloquent 事件
默认情况下,Laravel 的 Eloquent 事件 是内部派发的。此包允许事件被派发到事件总线。
安装
使用 composer require asseco-voice/laravel-eloquent-event-broadcaster
安装包。Laravel 的服务提供程序将自动安装。
使用 STOMP 作为队列驱动程序将支持多个 Laravel 服务之间的通信,因为它将使用原始数据派发事件,因此不会在另一侧中断。
这完全是可选的。如果您不使用 Laravel 微服务,您的数据将按照标准的 Laravel 方式进行序列化。
用法
使模型使用 BroadcastsEloquentEvents
,created
、updated
、deleted
和 restored
事件将被自动派发到 eloquent::model_events
队列。
发送的原始数据包括
payload
键包含原模型序列化为数组。- 让您的模型实现
AppendsData
接口以将附加数据添加到有效负载。 - 更改 (
_changes
) 数组包含old
/new
值和更改模型实体的type
/ID
。用于审计目的(可以通过配置禁用)。 - 包括以下内容的头部
service
- 小写蛇形应用名称model
- 完整模型命名空间和模型名称action
- 对模型执行了哪个操作(从注册的操作中提取,可以在配置中附加或修改)
- 让您的模型实现
AppendsHeaders
接口以添加附加头部。
您可以通过发布配置来调整配置
php artisan vendor:publish --tag=asseco-broadcaster-config