Laravel WebSocket Is cuid ríthábhachtach é comhtháthú le bunachar sonraí chun feidhmchláir fíor-ama a thógáil mar Chat, fógraí meandracha, agus rianú imeachtaí. Trí chomhcheangal WebSocket le bunachar sonraí, is féidir linn sonraí fíor-ama a stóráil agus a bhainistiú go héifeachtach. Seo conas a chomhtháthú Laravel WebSocket le bunachar sonraí.
Céim 1: Suiteáil Laravel WebSocket Pacáiste
Ar dtús, suiteáil agus cumraigh an laravel-websockets
pacáiste. Úsáid Cumadóir chun an pacáiste a shuiteáil:
composer require beyondcode/laravel-websockets
Nuair a bheidh tú suiteáilte, ní mór duit na comhaid cumraíochta a fhoilsiú agus tascanna riachtanacha a dhéanamh:
php artisan vendor:publish --tag=websockets-config
php artisan migrate
Céim 2: Cruthaigh Tábla Bunachar Sonraí le haghaidh Teachtaireachtaí
Cruthóimid tábla sa bhunachar sonraí chun teachtaireachtaí a stóráil. Úsáid an t-ordú seo a leanas chun an messages
tábla a chruthú:
php artisan make:model Message -m
Tar éis duit an t-ordú a rith, feicfidh tú migration comhad a cruthaíodh san database/migrations
eolaire. Oscail an migration comhad agus sainigh struchtúr an messages
tábla:
// 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');
});
}
Rith an migration t-ordú chun an tábla a chruthú sa bhunachar sonraí:
php artisan migrate
Céim 3: Láimhseáil Marthanachta Teachtaireacht trí WebSocket
Nuair a sheolann úsáideoir teachtaireacht, ní mór dúinn an teachtaireacht a láimhseáil agus a leanúint isteach sa bhunachar sonraí. Sa chás a sheoltar teachtaireacht, is féidir leat Laravel Craoladh a úsáid chun an teachtaireacht a sheoladh arís WebSocket agus an teachtaireacht a shábháil sa bhunachar sonraí ag an am céanna.
// 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();
}
Conclúid
Ligeann comhtháthú Laravel WebSocket le bunachar sonraí duit sonraí fíor-ama a stóráil agus a bhainistiú go héifeachtach. Trí chomhcheangal WebSocket le bunachar sonraí, is féidir leat feidhmchláir chasta fíor-ama a thógáil ar nós Comhrá, fógraí meandracha, agus rianú imeachtaí ar bhealach solúbtha agus cumhachtach.