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