Laravel ile Gerçek Zamanlı Bildirim Uygulamaları Oluşturma
Günümüzde web uygulamalarında kullanıcı etkileşimini artırmak ve kullanıcı deneyimini iyileştirmek için gerçek zamanlı bildirimler büyük bir öneme sahip. Özellikle anlık verilerin önemli olduğu platformlarda, kullanıcıların hızlı ve etkili bir şekilde bilgilendirilmesinde gerçek zamanlı bildirimler kritik bir rol oynar. Laravel, güçlü altyapısı ve kolay kullanımı ile gerçek zamanlı bildirim uygulamaları oluşturma konusunda tercih edilebilecek en iyi PHP frameworklerinden biridir.
Laravel Echo ve Pusher Nedir?
Laravel, gerçek zamanlı web uygulamaları oluşturmak için Laravel Echo ve Pusher gibi araçlar sunar. Laravel Echo, frontend kısmında socket bağlantılarını yönetmek için kullanılan bir JavaScript kütüphanesidir. Pusher ise bir WebSocket hizmetidir ve Laravel ile kolay bir şekilde entegre edilerek gerçek zamanlı iletişim kurmanızı sağlar.Adım Adım Laravel ile Gerçek Zamanlı Bildirimler
1. Laravel Projesini Hazırlayın
İlk önce yeni bir Laravel projesi oluşturmalısınız. Laravel’in en güncel sürümünü kullanarak aşağıdaki komutu çalıştırabilirsiniz:“`
composer create-project –prefer-dist laravel/laravel realtime-notifications
“`
2. Pusher’ı Kurun
Pusher servisini kullanabilmek için Pusher üzerinde bir hesap oluşturun ve yeni bir uygulama ayarlayın. Uygulama ayarlarından APP_ID, KEY ve SECRET değerlerini alın.3. .env Dosyasını Yapılandırın
Pusher API bilgilerinizi .env
dosyanıza ekleyin:“`
BROADCAST_DRIVER=pusher
PUSHER_APP_ID=your-pusher-app-id
PUSHER_APP_KEY=your-pusher-app-key
PUSHER_APP_SECRET=your-pusher-app-secret
PUSHER_APP_CLUSTER=mt1
“`
4. Laravel Echo ve Pusher-js Kurulumu
Frontend’de gerekli olan kütüphaneleri npm kullanarak yükleyin:“`
npm install –save laravel-echo pusher-js
“`
Vue, React ya da başka bir frontend frameworküyle çalışıyorsanız, bu kütüphaneleri uygulamanıza entegre etmelisiniz.
Echo konfigürasyonunuzu resources/js/bootstrap.js
dosyasında yapın:
window.Pusher = require('pusher-js'); import Echo from "laravel-echo" window.Echo = new Echo({ broadcaster: 'pusher', key: process.env.MIX_PUSHER_APP_KEY, cluster: process.env.MIX_PUSHER_APP_CLUSTER, forceTLS: true });
5. Bildirim Kanalı Oluşturma
Laravel'''de bildirimleri kanal üzerinden iletebilirsiniz. Yeni bir etkinlik oluşturun:“`
php artisan make:event MessageSent
“`
Etkinliğinizi tanımlayın. broadcastOn
metodunda yayınlanan kanalı belirtin:
public function broadcastOn() { return new Channel('chat'); }
6. Frontend’de Bildirimleri Dinleyin
Bildirimleri dinleyebilmek için belirlediğiniz kanalı frontend tarafında açın:Echo.channel('chat') .listen('MessageSent', (e) => { console.log(e); });
Burada MessageSent
isimli etkinliği dinler ve bu etkinlik tetiklendiğinde konsola loglar.