ڈیٹا بیس کے ساتھ انضمام Laravel WebSocket: ریئل ٹائم ڈیٹا مینجمنٹ

ڈیٹا بیس کے ساتھ ضم ہونا Laravel WebSocket ریئل ٹائم ایپلی کیشنز جیسے چیٹ، فوری اطلاعات، اور ایونٹ ٹریکنگ بنانے کا ایک اہم حصہ ہے۔ ڈیٹا بیس کے ساتھ جوڑ کر WebSocket ، ہم ریئل ٹائم ڈیٹا کو مؤثر طریقے سے محفوظ اور منظم کر سکتے ہیں۔ یہاں Laravel WebSocket ایک ڈیٹا بیس کے ساتھ ضم کرنے کا طریقہ ہے۔

مرحلہ 1: Laravel WebSocket پیکیج انسٹال کریں۔

laravel-websockets سب سے پہلے، پیکیج کو انسٹال اور ترتیب دیں ۔ پیکیج کو انسٹال کرنے کے لیے کمپوزر کا استعمال کریں:

composer require beyondcode/laravel-websockets

انسٹال ہونے کے بعد، آپ کو کنفیگریشن فائلوں کو شائع کرنے اور ضروری کام انجام دینے کی ضرورت ہے:

php artisan vendor:publish --tag=websockets-config  
php artisan migrate  

مرحلہ 2: پیغامات کے لیے ڈیٹا بیس ٹیبل بنائیں

ہم پیغامات کو ذخیرہ کرنے کے لیے ڈیٹا بیس میں ایک جدول بنائیں گے۔ ٹیبل بنانے کے لیے درج ذیل کمانڈ کا استعمال کریں messages:

php artisan make:model Message -m

کمانڈ چلانے کے بعد، آپ کو ڈائریکٹری migration میں ایک فائل بنائی گئی نظر آئے گی database/migrations ۔ فائل کو کھولیں migration اور ٹیبل کی ساخت کی وضاحت کریں messages:

// database/migrations/xxxx_xx_xx_create_messages_table.php  
  
public function up()  
{  
    Schema::create('messages', function(Blueprint $table) {  
        $table->id();  
        $table->unsignedBigInteger('user_id');  
        $table->text('content');  
        $table->timestamps();  
  
        $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');  
    });  
}  

migration ڈیٹا بیس میں ٹیبل بنانے کے لیے کمانڈ چلائیں:

php artisan migrate

مرحلہ 3: پیغام کی استقامت کو بذریعہ ہینڈل کرنا WebSocket

جب کوئی صارف پیغام بھیجتا ہے، تو ہمیں ڈیٹا بیس میں پیغام کو سنبھالنے اور اسے برقرار رکھنے کی ضرورت ہوتی ہے۔ پیغام بھیجے گئے ایونٹ میں، آپ Laravel براڈکاسٹنگ کا استعمال کر کے پیغام بھیج سکتے ہیں WebSocket اور ساتھ ہی ڈیٹا بیس میں پیغام کو محفوظ کر سکتے ہیں۔

// app/Events/MessageSent.php  
  
public function broadcastOn()  
{  
    return new Channel('chat');  
}  
  
public function broadcastWith()  
{  
    return [  
        'message' => $this->message,  
        'user' => $this->user,  
    ];  
}  
// app/Listeners/SaveMessage.php  
  
public function handle(MessageSent $event)  
{  
    $message = new Message();  
    $message->user_id = $event->user->id;  
    $message->content = $event->message;  
    $message->save();  
}  

نتیجہ

ڈیٹا بیس کے ساتھ انضمام Laravel WebSocket آپ کو حقیقی وقت کے ڈیٹا کو مؤثر طریقے سے ذخیرہ اور منظم کرنے کی اجازت دیتا ہے۔ ڈیٹا بیس کے ساتھ ملا کر WebSocket ، آپ پیچیدہ ریئل ٹائم ایپلی کیشنز جیسے چیٹ، فوری اطلاعات، اور ایونٹ ٹریکنگ کو لچکدار اور طاقتور طریقے سے بنا سکتے ہیں۔