Real-time 알림은 페이지를 새로 고칠 필요 없이 사용자에게 즉각적인 경고 및 업데이트를 제공하는 웹 애플리케이션의 일반적인 기능입니다. 에서 알림을 효율적으로 구현하기 위해 Laravel 쉽게 통합할 수 있습니다. 서버에서 클라이언트로 알림을 즉시 전달하기 위한 대기열로 사용됩니다. Redis real-time Redis
설치 Redis 및 Laravel
시작하려면 Redis 서버에 설치하고 Composer를 통해 predis/predis
패키지를 설치하십시오 Laravel.
composer require predis/predis
Real-time 알림 통합
대기열 구성 Laravel
먼저 파일 에 정보를 Laravel 추가하여 대기열을 구성합니다. Redis .env
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
만들기 Event
알림을 보내려면 event in을 만드세요. Laravel real-time
php artisan make:event NewNotificationEvent
그런 다음 app/Events/NewNotificationEvent.php
파일을 열고 콘텐츠를 사용자 지정합니다 event.
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');
}
}
구성 Broadcast Driver
파일을 열고 드라이버를 사용 config/broadcasting.php
하여. redis
real-time Redis
'connections' => [
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
// ...
],
Real-time 알림 보내기
알림 을 보내야 하는 경우 컨트롤러 또는 서비스 공급자에서 방금 만든 real-time 것을 사용하십시오. event
use App\Events\NewNotificationEvent;
public function sendNotification()
{
$message = 'You have a new notification!';
event(new NewNotificationEvent($message));
}
Real-time 클라이언트에서 알림 처리
마지막으로 real-time JavaScript 및 Echo를 사용하여 클라이언트에서 알림을 처리합니다 Laravel. Laravel 애플리케이션에 대해 Echo를 설치하고 구성했는지 확인하십시오 .
// 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);
});
결론
통합 Redis 하고 웹 애플리케이션에서 알림을 Laravel 쉽게 배포할 수 있습니다. real-time 새 알림이 있으면 애플리케이션이 이를 통해 전송 Redis 하고 클라이언트는 페이지를 새로 고칠 필요 없이 즉시 알림을 받습니다. 이를 통해 사용자 경험이 향상되고 애플리케이션의 상호 작용이 향상됩니다.