Laravel представляє анонімні трансляції, які спрощують процес відправки оновлень у реальному часі на фронтенд без необхідності створення окремих класів подій.
// Відправка базової анонімної трансляції
Broadcast::on('my-channel')->send();
Цей спрощений API дозволяє швидко реалізовувати функції в реальному часі, коли вам потрібні спонтанні сповіщення без складнощів, пов'язаних з повною структурою класу подій.
// Ім'я події та дані
Broadcast::on('orders.' . $order->id)
->as('OrderPlaced')
->with(['id' => $order->id, 'total' => $order->total])
->send();
Система надає гнучкість у виборі типів каналів відповідно до ваших вимог до автентифікації:
// Приватна трансляція каналу
Broadcast::private('user.' . $userId)->send();
// Трансляція каналу присутності
Broadcast::presence('team-chat')->send();
Ви можете контролювати час і цільову аудиторію за допомогою додаткових методів:
Broadcast::on('notifications')->sendNow();
Broadcast::on('chat')->toOthers()->send();
На фронтенді ви будете слухати ці події за допомогою Laravel Echo, як зазвичай:
Echo.channel('orders.' + orderId)
.listen('.OrderPlaced', (data) => {
showNotification('Замовлення розміщено!', data);
});
Анонімні трансляції особливо ефективні для короткочасних сповіщень, таких як індикатори набору тексту, оновлення статусів, тригери оновлення інтерфейсу та прості сповіщення, які не потребують довгострокового зберігання. Видаляючи потребу в створенні формальних класів подій для кожного сповіщення, ця функція пришвидшує розробку та зменшує обсяг коду, що робить функції в реальному часі більш доступними у ваших Laravel-додатках