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 ، اور کلائنٹ کو صفحہ کو تازہ کرنے کی ضرورت کے بغیر فوری طور پر اطلاع موصول ہو جائے گی۔ یہ صارف کے تجربے کو بہتر بناتا ہے اور ایپلیکیشن کی انٹرایکٹیویٹی کو بڑھاتا ہے۔