მონაცემთა ბაზასთან ინტეგრირება Laravel WebSocket: მონაცემთა რეალურ დროში მართვა

მონაცემთა ბაზასთან ინტეგრირება Laravel WebSocket გადამწყვეტი ნაწილია რეალურ დროში აპლიკაციების შესაქმნელად, როგორიცაა ჩატი, მყისიერი შეტყობინებები და მოვლენების თვალყურის დევნება. WebSocket მონაცემთა ბაზასთან კომბინირებით, ჩვენ შეგვიძლია რეალურ დროში მონაცემების ეფექტურად შენახვა და მართვა. აი, როგორ ხდება Laravel WebSocket მონაცემთა ბაზასთან ინტეგრირება.

ნაბიჯი 1: დააინსტალირეთ Laravel WebSocket პაკეტი

პირველ რიგში, დააინსტალირეთ და დააკონფიგურირეთ laravel-websockets პაკეტი. გამოიყენეთ Composer პაკეტის დასაყენებლად:

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 Broadcasting შეტყობინების გაგზავნისთვის 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, თქვენ შეგიძლიათ შექმნათ რთული რეალურ დროში აპლიკაციები, როგორიცაა ჩატი, მყისიერი შეტყობინებები და მოვლენების თვალყურის დევნება მოქნილი და ძლიერი გზით.