ਇੱਕ ਡੇਟਾਬੇਸ ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਕਰਨਾ 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, ਤੁਸੀਂ ਲਚਕਦਾਰ ਅਤੇ ਸ਼ਕਤੀਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਚੈਟ, ਤਤਕਾਲ ਸੂਚਨਾਵਾਂ ਅਤੇ ਇਵੈਂਟ ਟਰੈਕਿੰਗ ਵਰਗੀਆਂ ਗੁੰਝਲਦਾਰ ਰੀਅਲ-ਟਾਈਮ ਐਪਲੀਕੇਸ਼ਨਾਂ ਬਣਾ ਸਕਦੇ ਹੋ।