Real-time Az értesítések a webalkalmazások gyakori funkciói, amelyek azonnali figyelmeztetéseket és frissítéseket biztosítanak a felhasználóknak az oldal frissítése nélkül. A alkalmazásban Laravel könnyen integrálható az értesítések hatékony Redis megvalósítása érdekében real-time. Redis sorként fogják használni az értesítések azonnali eljuttatásához a szerverről a klienshez.
Telepítés Redis és Laravel
A kezdéshez telepítse Redis a kiszolgálóra, és telepítse a predis/predis
csomagot Laravel a Composeren keresztül.
composer require predis/predis
Real-time Értesítések integrálása
Várólista konfigurálása Laravel
Először állítsa be a sort az információknak a fájlhoz való Laravel hozzáadásával. Redis .env
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
Hozzon létre egy Event
Hozzon létre egy event bejelentkezést az értesítések Laravel küldéséhez real-time.
php artisan make:event NewNotificationEvent
Ezután nyissa meg a app/Events/NewNotificationEvent.php
fájlt, és szabja testre a event tartalmat.
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');
}
}
Beállítás Broadcast Driver
Nyissa meg a config/broadcasting.php
fájlt, és használja az illesztőprogramot az értesítések redis
implementálásához. real-time Redis
'connections' => [
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
// ...
],
Real-time Értesítés küldése
Ha értesítést kell küldenie real-time, használja az event imént létrehozott vezérlőt vagy szolgáltatót.
use App\Events\NewNotificationEvent;
public function sendNotification()
{
$message = 'You have a new notification!';
event(new NewNotificationEvent($message));
}
Real-time Az ügyfél értesítéseinek kezelése
Végül kezelje az real-time értesítést az ügyfélen a JavaScript és Laravel az Echo segítségével. Győződjön meg arról, hogy telepítette és konfigurálta Laravel az Echo-t az alkalmazáshoz.
// 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);
});
Következtetés
Integrálja Redis és Laravel lehetővé teszi az értesítések egyszerű telepítését real-time a webalkalmazásban. Ha új értesítés érkezik, az alkalmazás a címen keresztül küldi el Redis, és az ügyfél azonnal megkapja az értesítést anélkül, hogy frissítenie kellene az oldalt. Ez javítja a felhasználói élményt és fokozza az alkalmazás interaktivitását.