L-integrazzjoni Laravel WebSocket ma 'database hija parti kruċjali tal-bini ta' applikazzjonijiet f'ħin reali bħal Chat, notifiki instantanji, u traċċar ta 'avvenimenti. Billi nikkombinaw WebSocket ma 'database, nistgħu naħżnu u namministraw b'mod effettiv id-dejta f'ħin reali. Ara kif tintegra Laravel WebSocket ma' database.
Pass 1: Installa Laravel WebSocket Pakkett
L-ewwelnett, installa u kkonfigura l- laravel-websockets
pakkett. Uża Composer biex tinstalla l-pakkett:
composer require beyondcode/laravel-websockets
Ladarba tkun installata, trid tippubblika l-fajls tal-konfigurazzjoni u twettaq il-kompiti meħtieġa:
php artisan vendor:publish --tag=websockets-config
php artisan migrate
Pass 2: Oħloq Tabella tad-Database għall-Messaġġi
Aħna ser noħolqu tabella fid-database biex taħżen il-messaġġi. Uża l-kmand li ġej biex toħloq it- messages
tabella:
php artisan make:model Message -m
Wara li tmexxi l-kmand, tara fajl migration maħluq fid- database/migrations
direttorju. Iftaħ il- migration fajl u ddefinixxi l-istruttura tat- messages
tabella:
// 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');
});
}
Mexxi l- migration kmand biex toħloq it-tabella fid-database:
php artisan migrate
Pass 3: Immaniġġjar tal-Persistenza tal-Messaġġ permezz WebSocket
Meta utent jibgħat messaġġ, irridu nittrattaw u jippersistu l-messaġġ fid-database. Fl-avveniment li jintbagħat il-messaġġ, tista 'tuża Laravel Xandir biex tibgħat il-messaġġ WebSocket u fl-istess ħin issalva l-messaġġ fid-database.
// 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();
}
Konklużjoni
L-integrazzjoni Laravel WebSocket ma 'database tippermettilek taħżen u timmaniġġja data f'ħin reali b'mod effettiv. Billi tikkombina WebSocket ma 'database, tista' tibni applikazzjonijiet kumplessi f'ħin reali bħal Chat, notifiki immedjati, u traċċar ta 'avvenimenti b'mod flessibbli u b'saħħtu.