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.