Real-time Notifiki ma Laravel u Redis

Real-time notifiki huma karatteristika komuni fl-applikazzjonijiet tal-web biex jipprovdu twissijiet u aġġornamenti immedjati lill-utenti mingħajr il-ħtieġa li jġedded il-paġna. F' Laravel, tista' faċilment tintegra Redis biex timplimenta real-time n-notifiki b'mod effiċjenti. Redis se jintuża bħala kju biex iwassal notifiki mis-server lill-klijent istantanjament.

Installazzjoni Redis u Laravel

Biex tibda, installa Redis fuq is-server tiegħek u installa l- predis/predis pakkett Laravel permezz tal-Kompożitur.

composer require predis/predis

Integrazzjoni ta Real-time ' Notifiki

Ikkonfigura Kju fi Laravel

L-ewwel, ikkonfigura l-kju Laravel billi żżid l- Redis informazzjoni fil- .env fajl.

QUEUE_CONNECTION=redis  
REDIS_HOST=127.0.0.1  
REDIS_PASSWORD=null  
REDIS_PORT=6379  

Oħloq an Event

Oħloq event in Laravel biex tibgħat real-time notifiki.

php artisan make:event NewNotificationEvent

Imbagħad, iftaħ il app/Events/NewNotificationEvent.php -fajl u ppersonalizza l- event kontenut.

use Illuminate\Broadcasting\Channel;  
use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;  
use Illuminate\Queue\SerializesModels;  
  
class NewNotificationEvent implements ShouldBroadcastNow  
{  
    use SerializesModels;  
  
    public $message;  
  
    public function __construct($message)  
    {  
        $this->message = $message;  
    }  
  
    public function broadcastOn()  
    {  
        return new Channel('notifications');  
    }  
}  

Ikkonfigura Broadcast Driver

Iftaħ il- config/broadcasting.php fajl u uża s- redis sewwieq biex timplimenta real-time notifiki b' Redis.

'connections' => [  
    'redis' => [  
        'driver' => 'redis',  
        'connection' => 'default',  
    ],  
    // ...  
],  

Ibgħat Real-time Notifika

Meta jkollok bżonn tibgħat real-time notifika, uża dak li event għadek kif ħloqt f'kontrollur jew fornitur tas-servizz.

use App\Events\NewNotificationEvent;  
  
public function sendNotification()  
{  
    $message = 'You have a new notification!';  
    event(new NewNotificationEvent($message));  
}  

Immaniġġja Real-time Notifika fuq il-Klijent

Fl-aħħarnett, jimmaniġġja n- real-time notifika fuq il-klijent billi tuża JavaScript u Laravel Echo. Kun żgur li installajt u kkonfigurat Laravel Echo għall-applikazzjoni tiegħek.

// Connect to the 'notifications' channel  
const channel = Echo.channel('notifications');  
  
// Handle the event when receiving a real-time notification  
channel.listen('.NewNotificationEvent',(notification) => {  
    alert(notification.message);  
});  

 

Konklużjoni

L-integrazzjoni Redis u Laravel tippermettilek tiskjera real-time notifiki faċilment fl-applikazzjoni tal-web tiegħek. Meta jkun hemm notifika ġdida, l-applikazzjoni tibgħatha permezz ta' Redis, u l-klijent jirċievi n-notifika istantanjament mingħajr il-ħtieġa li jġedded il-paġna. Dan itejjeb l-esperjenza tal-utent u jsaħħaħ l-interattività tal-applikazzjoni.