Download the PHP package asseco-voice/laravel-eloquent-event-broadcaster without Composer
On this page you can find all versions of the php package asseco-voice/laravel-eloquent-event-broadcaster. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download asseco-voice/laravel-eloquent-event-broadcaster
More information about asseco-voice/laravel-eloquent-event-broadcaster
Files in asseco-voice/laravel-eloquent-event-broadcaster
Package laravel-eloquent-event-broadcaster
Short Description Laravel eloquent events broadcasting
License MIT
Informations about the package laravel-eloquent-event-broadcaster
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:
payload
key containing original model serialized to array.- Let your model implement
AppendsData
interface to append additional data to payload. - Changes (
_changes
) array holdingold
/new
values andtype
/ID
of 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
AppendsHeaders
interface to append additional headers.
You can tweak the configuration publishing it with:
php artisan vendor:publish --tag=asseco-broadcaster-config