ما هو Laravel Reverb؟
Laravel Reverb هو خادم WebSocket رسمي من الطرف الأول يتيح الميزات الفورية دون خدمات طرف ثالث.
الخطوة 1: تثبيت Reverb
composer require laravel/reverb
php artisan reverb:install
الخطوة 2: إعداد البيئة
# .env
BROADCAST_DRIVER=reverb
REVERB_APP_ID=my-app
REVERB_APP_KEY=my-key
REVERB_APP_SECRET=my-secret
REVERB_HOST=localhost
REVERB_PORT=8080
الخطوة 3: إنشاء حدث إشعار
<?php
namespace App\Events;
use Illuminate\Broadcasting\Channel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class NewNotification implements ShouldBroadcast
{
public function __construct(
public string $message,
public int $userId
) {}
public function broadcastOn(): Channel
{
return new Channel("user.{$this->userId}");
}
public function broadcastAs(): string
{
return 'notification';
}
}
الخطوة 4: إطلاق الإشعار
// In your controller
event(new NewNotification('You have a new message!', $user->id));
الخطوة 5: إعداد الواجهة الأمامية (Vue/React)
npm install laravel-echo pusher-js
// echo.js
import Echo from 'laravel-echo';
import Pusher from 'pusher-js';
window.Pusher = Pusher;
window.Echo = new Echo({
broadcaster: 'reverb',
key: import.meta.env.VITE_REVERB_APP_KEY,
wsHost: import.meta.env.VITE_REVERB_HOST,
wsPort: import.meta.env.VITE_REVERB_PORT,
forceTLS: false,
enabledTransports: ['ws', 'wss'],
});
// Listen for notifications
Echo.channel(`user.${userId}`)
.listen('.notification', (e) => {
alert(e.message);
});
الخطوة 6: تشغيل خادم Reverb
php artisan reverb:start
الآن يتلقّى مستخدموك إشعارات فورية!
التعليقات (0)
اترك تعليقًا
لا توجد تعليقات بعد. كن أول من يشارك أفكاره!