Real-time Laravel اور کے ساتھ اطلاعات Redis

Real-time ویب ایپلیکیشنز میں نوٹیفیکیشن ایک عام خصوصیت ہے جو صفحہ کو ریفریش کیے بغیر صارفین کو فوری الرٹ اور اپ ڈیٹ فراہم کرتی ہے۔ میں Laravel ، آپ اطلاعات کو مؤثر طریقے سے Redis نافذ کرنے کے لیے آسانی سے ضم کر سکتے ہیں۔ سرور سے کلائنٹ کو فوری طور پر اطلاعات فراہم کرنے کے لیے ایک قطار کے طور پر استعمال کیا جائے گا۔ real-time Redis

انسٹال کرنا Redis اور Laravel

شروع کرنے کے لیے، Redis اپنے سرور پر انسٹال کریں اور کمپوزر کے ذریعے predis/predis پیکیج انسٹال کریں۔ Laravel

composer require predis/predis

Real-time اطلاعات کو مربوط کرنا

قطار میں ترتیب دیں۔ Laravel

سب سے پہلے، فائل میں معلومات Laravel شامل کرکے قطار کو ترتیب دیں ۔ Redis .env

QUEUE_CONNECTION=redis  
REDIS_HOST=127.0.0.1  
REDIS_PASSWORD=null  
REDIS_PORT=6379  

ایک بنائیں Event

اطلاعات بھیجنے کے لیے ایک event ان بنائیں ۔ Laravel real-time

php artisan make:event NewNotificationEvent

پھر، app/Events/NewNotificationEvent.php فائل کھولیں اور event مواد کو اپنی مرضی کے مطابق بنائیں۔

use Illuminate\Broadcasting\Channel;  
use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;  
use Illuminate\Queue\SerializesModels;  
  
class NewNotificationEvent implements ShouldBroadcastNow  
{  
    use SerializesModels;  
  
    public $message;  
  
    public function __construct($message)  
    {  
        $this->message = $message;  
    }  
  
    public function broadcastOn()  
    {  
        return new Channel('notifications');  
    }  
}  

ترتیب دیں۔ Broadcast Driver

فائل کو کھولیں config/broadcasting.php اور نوٹیفیکیشن کو redis لاگو کرنے کے لیے ڈرائیور کا استعمال کریں ۔ real-time Redis

'connections' => [  
    'redis' => [  
        'driver' => 'redis',  
        'connection' => 'default',  
    ],  
    // ...  
],  

Real-time اطلاع بھیجیں ۔

جب آپ کو اطلاع بھیجنے کی ضرورت ہو real-time ، تو اسے استعمال کریں جسے event آپ نے ابھی کنٹرولر یا سروس فراہم کنندہ میں بنایا ہے۔

use App\Events\NewNotificationEvent;  
  
public function sendNotification()  
{  
    $message = 'You have a new notification!';  
    event(new NewNotificationEvent($message));  
}  

Real-time کلائنٹ پر اطلاع کو ہینڈل کریں۔

آخر میں، جاوا اسکرپٹ اور ایکو کا real-time استعمال کرتے ہوئے کلائنٹ پر اطلاع کو ہینڈل کریں۔ Laravel یقینی بنائیں کہ آپ نے Laravel اپنی ایپلیکیشن کے لیے ایکو کو انسٹال اور کنفیگر کر لیا ہے۔

// Connect to the 'notifications' channel  
const channel = Echo.channel('notifications');  
  
// Handle the event when receiving a real-time notification  
channel.listen('.NewNotificationEvent',(notification) => {  
    alert(notification.message);  
});  

 

نتیجہ

انضمام Redis اور Laravel آپ کو آسانی سے real-time اپنی ویب ایپلیکیشن میں اطلاعات کو تعینات کرنے کی اجازت دیتا ہے۔ جب کوئی نیا نوٹیفکیشن آتا ہے، تو ایپلیکیشن اسے کے ذریعے بھیجے گی Redis ، اور کلائنٹ کو صفحہ کو تازہ کرنے کی ضرورت کے بغیر فوری طور پر اطلاع موصول ہو جائے گی۔ یہ صارف کے تجربے کو بہتر بناتا ہے اور ایپلیکیشن کی انٹرایکٹیویٹی کو بڑھاتا ہے۔