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:

  1. Server: Laravel fired een event dat gebroadcast wordt
  2. Websocket server: Reverb (of Pusher) verwerkt de verbindingen
  3. 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.

Heb je vragen over dit onderwerp of wil je samenwerken?

Neem contact op