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.