ডেটাবেসের সাথে একীভূত করা 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, আপনি একটি নমনীয় এবং শক্তিশালী পদ্ধতিতে চ্যাট, তাত্ক্ষণিক বিজ্ঞপ্তি এবং ইভেন্ট ট্র্যাকিংয়ের মতো জটিল রিয়েল-টাইম অ্যাপ্লিকেশন তৈরি করতে পারেন।