Kullanıcılarınıza anlık bildirimler göndermek mi istiyorsunuz? Artık sayfa yenilemeden, kullanıcılarınıza gerçek zamanlı olarak ulaşabilirsiniz! Laravel + Pusher ikilisiyle bu işlem çocuk oyuncağı 🎯
Pusher, WebSocket tabanlı bir real-time iletişim servisi. Laravel ile entegrasyonu çok kolay!
✔️ Anlık bildirimler 📨
✔️ Canlı veri güncellemeleri 🔄
✔️ Chat uygulamaları 💬
✔️ Dashboard’larda gerçek zamanlı veri 📊
Önce Pusher’a üye olun ve bir app oluşturun.
Laravel’de Pusher Paketini Yükleyelim:
composer require pusher/pusher-php-server
.env
Dosyasını Güncelleyelim:
BROADCAST_DRIVER=pusher PUSHER_APP_ID=your-app-id PUSHER_APP_KEY=your-app-key PUSHER_APP_SECRET=your-app-secret PUSHER_APP_CLUSTER=your-cluster (e.g., mt1, eu)
Laravel’de bildirimler Event sistemine dayanır.
php artisan make:event NewNotification
NewNotification.php
:
class NewNotification implements ShouldBroadcast { public $message; public function __construct($message) { $this->message = $message; } public function broadcastOn() { return new Channel('notifications'); } }
Pusher’ı frontend’e bağlamak için Laravel Echo kullanacağız.
npm install --save laravel-echo pusher-js
resources/js/bootstrap.js
:
import Echo from 'laravel-echo'; window.Pusher = require('pusher-js'); window.Echo = new Echo({ broadcaster: 'pusher', key: process.env.MIX_PUSHER_APP_KEY, cluster: process.env.MIX_PUSHER_APP_CLUSTER, encrypted: true }); window.Echo.channel('notifications') .listen('NewNotification', (data) => { console.log('Yeni bildirim:', data.message); alert(data.message); // Bildirim göster });
Artık bir Controller veya Command içinden bildirim tetikleyebilirsiniz.
event(new NewNotification("Merhaba! Yeni bir mesajınız var! 📩"));
Kullanıcı tarafında anında görünecek!
public function broadcastOn() { return new PrivateChannel('user.' . $this->user->id); }
Sonuç: Laravel + Pusher = Süper Güçler! 💪
Artık gerçek zamanlı bildirimleri kolayca entegre edebilirsiniz!
Siz de denediniz mi? Yorumlarda tecrübelerinizi paylaşın! 👇💬
#Laravel #Pusher #RealTime #WebDevelopment #WebSockets 🚀