Real-time notificaties maken applicaties levendiger. Een order die geplaatst is, een document dat goedgekeurd wordt, een collega die een taak afwerkt — gebruikers willen het instant zien. Laravel Broadcasting met Reverb maakt dit mogelijk.
Hoe werkt Laravel Broadcasting?
Broadcasting stuurt server-side events naar clients via websockets. Het bestaat uit drie delen:
- Server: Laravel fired een event dat gebroadcast wordt
- Websocket server: Reverb (of Pusher) verwerkt de verbindingen
- Client: Laravel Echo luistert naar events in de browser
Een broadcast event maken
class OrderPlaced implements ShouldBroadcast {
public function __construct(public Order $order) {}
public function broadcastOn() {
return new PrivateChannel('orders.' . $this->order->user_id);
}
}
Fire het event vanuit je applicatie:
broadcast(new OrderPlaced($order));
Private channels
Voor gevoelige data gebruik je private channels. Alleen geauthenticeerde gebruikers met toegangsrecht kunnen luisteren:
// In routes/channels.php
Broadcast::channel('orders.{userId}', function ($user, $userId) {
return $user->id === $userId;
});
Frontend met Echo
Installeer Laravel Echo en verbind met Reverb:
import Echo from 'laravel-echo';
import Pusher from 'pusher-js';
window.Echo = new Echo({
broadcaster: 'reverb',
wsHost: import.meta.env.VITE_REVERB_HOST,
wsPort: import.meta.env.VITE_REVERB_PORT,
});
Echo.private(`orders.${userId}`).listen('OrderPlaced', (e) => {
console.log('Nieuwe order:', e.order);
});
Presence channels voor samenwerkingstools
Met presence channels weet je welke gebruikers actief zijn op een channel — ideaal voor samenwerkingsfuncties:
Echo.join('document.1')
.here(users => console.log('Actieve gebruikers:', users))
.joining(user => console.log(user.name, 'is erbij'))
.leaving(user => console.log(user.name, 'is weg'));
Use cases in de praktijk
Real-time broadcasting is een gamechanger voor maatwerk applicaties: live dashboards, interne communicatietools, ordervolgpagina’s. Bij Meesy integreren we dit regelmatig in Laravel ontwikkeling projecten.
Conclusie
Laravel Broadcasting met Reverb geeft je volledige controle over real-time communicatie. Self-hosted, snel en goed geïntegreerd met het Laravel-ecosysteem. Wil je real-time features in jouw applicatie? Neem contact op.