asseco-voice / laravel-eloquent-event-broadcaster
Laravel eloquent events broadcasting
Installs: 6 533
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 6
Forks: 0
Open Issues: 3
pkg:composer/asseco-voice/laravel-eloquent-event-broadcaster
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
This package is auto-updated.
Last update: 2025-10-01 00:06:52 UTC
README
Broadcast Eloquent events
By default, Laravel Eloquent events are dispatched internally. This package enables the events to be dispatched to an event bus instead.
Installation
Require the package with composer require asseco-voice/laravel-eloquent-event-broadcaster.
Service provider for Laravel will be installed automatically.
Using STOMP as a queue driver will support the communication between multiple Laravel services because it will be dispatching events with raw data so that it doesn't break on the other side.
This is completely optional however. If you're not using Laravel for microservices, your data will be serialized the standard Laravel way.
Usage
Make the model use a BroadcastsEloquentEvents and created, updated, deleted and restored
events will be automatically dispatched to a eloquent::model_events queue.
Raw data being sent consists of:
payloadkey containing original model serialized to array.- Let your model implement
AppendsDatainterface to append additional data to payload. - Changes (
_changes) array holdingold/newvalues andtype/IDof entity that changed the model. Used for auditing purposes (can be disabled through config). - Headers consisting of:
service- lowercase snake app namemodel- full model namespace and model nameaction- which action was performed on the model (pulled from registered actions which can be appended or modified in the config)
- Let your model implement
AppendsHeadersinterface to append additional headers.
You can tweak the configuration publishing it with:
php artisan vendor:publish --tag=asseco-broadcaster-config
