Real-time Laravel ve ile yapılan bildirimler Redis

Real-time bildirimler, sayfayı yenilemeye gerek kalmadan kullanıcılara anında uyarılar ve güncellemeler sağlamak için web uygulamalarında yaygın bir özelliktir. içinde, bildirimleri verimli bir şekilde uygulamak için Laravel kolayca entegre edebilirsiniz. bildirimleri sunucudan istemciye anında iletmek için bir kuyruk olarak kullanılacaktır. Redis real-time Redis

yükleme Redis ve Laravel

Başlamak için Redis sunucunuza kurun ve predis/predis paketi Laravel Composer aracılığıyla kurun.

composer require predis/predis

Real-time Bildirimleri Entegre Etme

Kuyruğu Yapılandır Laravel

İlk olarak, bilgileri dosyaya Laravel ekleyerek içindeki kuyruğu yapılandırın. Redis .env

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

Oluşturduğunuz bir Event

Bildirim göndermek için bir event giriş oluşturun. Laravel real-time

php artisan make:event NewNotificationEvent

Ardından app/Events/NewNotificationEvent.php dosyayı açın ve event içeriği özelleştirin.

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

Yapılandır Broadcast Driver

Dosyayı açın config/broadcasting.php ve ile bildirimleri redis uygulamak için sürücüyü kullanın. real-time Redis

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

Real-time Bildirim Gönder

real-time Bir bildirim göndermeniz gerektiğinde, event bir denetleyicide veya hizmet sağlayıcıda az önce oluşturduğunuz bildirimi kullanın.

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

Real-time İstemcide Bildirimi İşle

real-time Son olarak, istemcideki bildirimi JavaScript ve Laravel Echo kullanarak işleyin. Laravel Uygulamanız için Echo'yu kurduğunuzdan ve yapılandırdığınızdan emin olun .

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

 

Çözüm

Tümleştirme Redis ve bildirimleri web uygulamanızda Laravel kolayca dağıtmanıza olanak tanır. real-time Yeni bir bildirim olduğunda, uygulama bunu e-posta yoluyla gönderecek Redis ve müşteri sayfayı yenilemeye gerek kalmadan bildirimi anında alacaktır. Bu, kullanıcı deneyimini geliştirir ve uygulamanın etkileşimini geliştirir.