Real-time Ilmoitukset Laravel ja Redis

Real-time ilmoitukset ovat yleinen verkkosovellusten ominaisuus, joka antaa käyttäjille välittömiä hälytyksiä ja päivityksiä ilman, että sivua tarvitsee päivittää. -sovelluksessa Laravel voit helposti integroida Redis ottaaksesi real-time ilmoitukset käyttöön tehokkaasti. Redis käytetään jonona toimittamaan ilmoitukset palvelimelta asiakkaalle välittömästi.

Asennus Redis ja Laravel

Aloita asentamalla Redis palvelimellesi ja asentamalla predis/predis paketti sisään Laravel Composerin kautta.

composer require predis/predis

Real-time Ilmoitusten integrointi

Määritä jono sisään Laravel

Määritä ensin jono Laravel lisäämällä Redis tiedot tiedostoon .env.

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

Luo an Event

Luo event sisääntulo ilmoitusten Laravel lähettämistä varten real-time.

php artisan make:event NewNotificationEvent

Avaa sitten app/Events/NewNotificationEvent.php tiedosto ja mukauta event sisältöä.

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');  
    }  
}  

Määritä Broadcast Driver

Avaa config/broadcasting.php tiedosto ja käytä ohjainta ilmoitusten redis toteuttamiseen. real-time Redis

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

Lähetä Real-time ilmoitus

Kun haluat lähettää real-time ilmoituksen, käytä event ohjaimessa tai palveluntarjoajassa juuri luomaasi.

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

Käsittele Real-time asiakkaan ilmoituksia

Lopuksi käsittele real-time asiakkaan ilmoitus JavaScriptin ja Laravel Echon avulla. Varmista, että olet asentanut ja määrittänyt Laravel Echon sovelluksellesi.

// 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);  
});  

 

Johtopäätös

Integrointi Redis ja Laravel mahdollistaa real-time ilmoitusten helpon käyttöönoton verkkosovelluksessasi. Kun tulee uusi ilmoitus, sovellus lähettää sen kautta Redis ja asiakas saa ilmoituksen välittömästi ilman tarvetta päivittää sivua. Tämä parantaa käyttökokemusta ja lisää sovelluksen interaktiivisuutta.