Laravel Reverb هو خادم WebSocket الرسمي من Laravel. يحل محل Pusher ويتعامل مع أكثر من 10,000 اتصال متزامن.
التثبيت
composer require laravel/reverb
php artisan reverb:install
php artisan reverb:start --port=8080بث الأحداث
class MessageSent implements ShouldBroadcast
{
public function __construct(
public User $user,
public Message $message,
) {}
public function broadcastOn(): array
{
return [new PrivateChannel("chat.{$this->message->room_id}")];
}
}
MessageSent::dispatch($user, $message);الاستماع في الواجهة الأمامية
Echo.private(`chat.${roomId}`)
.listen('MessageSent', (event) => {
messages.push(event.message);
});
Echo.join(`room.${roomId}`)
.here((users) => { onlineUsers = users; })
.joining((user) => { onlineUsers.push(user); });الإشعارات في الوقت الحقيقي
class OrderShipped extends Notification implements ShouldBroadcast
{
public function via($notifiable): array
{
return ['database', 'broadcast'];
}
public function toBroadcast($notifiable): BroadcastMessage
{
return new BroadcastMessage([
'title' => 'تم الشحن!',
'body' => "طلبك #{$this->order->id} تم شحنه.",
]);
}
}Reverb يمنحك وظائف مثل Pusher مجانًا على خادمك الخاص.