Laravel’de Bildirimler

Laravel'de Bildirimler

Bu yazıda, Laravel web çerçevesindeki bildirim sistemini keşfedeceğiz. Laravel’deki bildirim sistemi, kullanıcılara farklı kanallar üzerinden bildirim göndermenizi sağlar. Bugün, posta kanalı üzerinden nasıl bildirim gönderebileceğinizi tartışacağız.

Bildirimlerin Temelleri

Uygulama geliştirme sırasında, kullanıcıları farklı durum değişiklikleri hakkında sık sık bilgilendirmeniz gerekir. Bu, sipariş durumu değiştiğinde e-posta bildirimleri göndermek veya güvenlik amacıyla giriş faaliyetleri hakkında bir SMS göndermek olabilir. Özellikle, kısa olan ve yalnızca durum değişikliklerine ilişkin fikir veren mesajlardan bahsediyoruz.

Laravel, benzer bir şeye ulaşmamıza yardımcı olan yerleşik bir özellik zaten sağlıyor: bildirimler. Aslında, kullanıcılara bildirim mesajları göndermeyi çok kolay ve eğlenceli bir deneyim haline getiriyor!

Bu yaklaşımın güzelliği, bildirimlerin gönderileceği farklı kanallar arasından seçim yapmanıza izin vermesidir. Laravel tarafından desteklenen farklı bildirim kanallarından hızlıca geçelim.

  • Posta: Bildirimler, kullanıcılara e-posta şeklinde gönderilecektir.
  • SMS: Adından da anlaşılacağı gibi, kullanıcılar telefonlarına SMS bildirimleri alacaklar.
  • Gevşek: Bu durumda bildirimler Slack kanallarından gönderilecektir.
  • Veri tabanı: Bu seçenek, onu görüntülemek için özel bir kullanıcı arabirimi oluşturmak istemeniz durumunda bildirimleri bir veritabanında saklamanıza olanak tanır.

Farklı bildirim kanalları arasında, mail Bu eğitim boyunca geliştireceğimiz örnek kullanım durumumuzdaki kanal.

Aslında, uygulamamızın kullanıcılarının her kullanıcıya mesaj göndermesine izin veren oldukça basit bir kullanım durumu olacaktır. Kullanıcılar gelen kutularına yeni bir mesaj aldıklarında, onlara bir e-posta göndererek bu olay hakkında onları bilgilendireceğiz. Tabi bunu Laravel’in bildirim özelliğini kullanarak yapacağız!

Özel Bildirim Sınıfı Oluşturun

Daha önce tartıştığımız gibi, uygulamamızın kullanıcılarının birbirlerine mesaj göndermelerini sağlayan bir uygulama kuracağız. Öte yandan, diğer kullanıcılardan e-posta yoluyla yeni bir mesaj aldıklarında kullanıcıları bilgilendireceğiz.

Bu bölümde, aradığımız kullanım senaryosunu uygulamak için gerekli olan dosyaları oluşturacağız.

oluştur Message modeli

Başlamak için, hadi oluşturalım Message kullanıcıların birbirlerine gönderdiği mesajları tutan model.

Ayrıca aşağıdaki gibi birkaç alan eklememiz gerekiyor. to, fromve message için messages masa. Öyleyse, çalıştırmadan önce taşıma dosyasını değiştirelim. migrate komuta veritabanı/taşıma/XXXX_XX_XX_XXXXXX_create_messages_table.php.

Şimdi, aşağıdakileri oluşturan move komutunu çalıştıralım. messages veritabanındaki tablo.

Bu oluşturmalı messages veritabanındaki tablo.

Ayrıca, kayıt ve oturum açma gibi özelliklerin kutudan çıktığı gibi çalışması için önce varsayılan Laravel kimlik doğrulama sistemini etkinleştirdiğinizden emin olun. Bunu nasıl yapacağınızdan emin değilseniz, Laravel belgeler sana nasıl olduğunu söyleyecek.

oluştur NewMessage Bildirim Sınıfı

Laravel’de her bildirim ayrı bir sınıf tarafından temsil edildiğinden, kullanıcıları bilgilendirmek için kullanılacak özel bir bildirim sınıfı oluşturmamız gerekiyor. Özel bir bildirim sınıfı oluşturmak için aşağıdaki artisan komutunu kullanalım: NewMessage.

Bu oluşturmalı app/Bildirimler/NewMessage.php class, öyleyse o dosyanın içeriğini aşağıdaki içeriklerle değiştirelim.

kullanacağımıza göre mail kullanıcılara bildirim göndermek için kanal, via yöntemi buna göre yapılandırılır. Dolayısıyla bu yöntem, bir bildirimin kanal türünü yapılandırmanıza olanak tanır.

Sonra, orada toMail çeşitli e-posta parametrelerini yapılandırmanıza izin veren yöntem. Aslında, toMail yöntem örneğini döndürmelidir IlluminateNotificationsMessagesMailMessageve e-posta parametrelerini yapılandırmanıza izin veren kullanışlı yöntemler sağlar.

Çeşitli yöntemler arasında, line yöntemi, bir mesaja tek bir satır eklemenizi sağlar. Öte yandan, orada action bir mesaja bir harekete geçirici mesaj düğmesi eklemenizi sağlayan yöntem.

Bu şekilde kullanıcılara gönderilecek bir mesajı biçimlendirebilirsiniz. Bu nedenle, bildirim sınıfını kullanırken bildirim sınıfını bu şekilde yapılandırmanız gerekir. mail Bildirim göndermek için kanal.

Son olarak, programda konfigüre edilen kanal tipine göre gerekli yöntemleri uyguladığınızdan emin olmanız gerekmektedir. via yöntem. Örneğin, kullanıyorsanız database bildirimleri bir veritabanında saklayan kanal, yapılandırmanıza gerek yoktur. toMail yöntem; bunun yerine, uygulamalısınız toArray Bir veritabanında saklanması gereken verileri biçimlendiren yöntem.

Bildirimler Nasıl Gönderilir

Bir önceki bölümde bildirim göndermeye hazır bir bildirim sınıfı oluşturduk. Bu bölümde, bildirimleri kullanarak gerçekte nasıl bildirim gönderebileceğinizi gösteren dosyalar oluşturacağız. NewMessage bildirim sınıfı.

adresinde bir controller dosyası oluşturalım. app/Http/Controllers/NotificationController.php aşağıdaki içeriklerle.

Tabii ki, ilgili bir rota eklemeniz gerekir. rotalar/web.php dosya.

Laravel’in bildirim göndermenize izin vermesinin iki yolu vardır: ya bildirilebilir varlığı ya da Notification cephe.

varlık modeli sınıfı kullanıyorsa IlluminateNotificationsNotifiable özellik, o zaman arayabilirsin notify Bu modeldeki yöntem. bu AppUser sınıf uygular Notifiable özelliktir ve böylece bildirimi zorunlu varlık haline gelir. Öte yandan, şunları da kullanabilirsiniz: IlluminateSupportFacadesNotification Kullanıcılara bildirim göndermek için cephe.

geçelim index denetleyici yöntemi.

Bizim durumumuzda, yeni bir mesaj aldıklarında kullanıcıları bilgilendireceğiz. Böylece, bu davranışı taklit etmeye çalıştık. index yöntemi ilk etapta.

Ardından, alıcı kullanıcıyı yeni bir mesaj hakkında bilgilendirdik. notify üzerindeki yöntem $toUser nesne, olduğu gibi bildirilebilir varlık.

geçtiğini de fark etmişsinizdir. $fromUser nesnenin ilk argümanında __construct yöntemini dahil etmek istediğimiz için itibaren kullanıcı adı bir mesajda.

Öte yandan, onu taklit etmek istiyorsanız, Notification cephe, aşağıdaki pasajı kullanarak bunu yapmak oldukça kolaydır.

Gördüğünüz gibi, kullandık send Bir kullanıcıya bildirim göndermek için Bildirim cephesinin yöntemi.

Devam edin ve URL’yi açın https://your-laravel-site-domain/notify/index tarayıcınızda. Henüz giriş yapmadıysanız, giriş ekranına yönlendirileceksiniz. Giriş yaptıktan sonra, kullanıcıyla birlikte verilen e-posta adresine bir bildirim e-postası almalısınız. 1.

Bildirim sisteminin bildirimleri nasıl algıladığını merak ediyor olabilirsiniz. to henüz hiçbir yerde yapılandırmadığımızda adres. Bu durumda, bildirim sistemi aşağıdakileri bulmaya çalışır: email Bildirilebilir nesnedeki özellik. Ve AppUser Varsayılan Laravel kimlik doğrulama sistemini kullandığımızdan, nesne sınıfı zaten bu özelliğe sahiptir.

Ancak, bu davranışı geçersiz kılmak ve e-posta dışında farklı bir özellik kullanmak istiyorsanız, bildirim sınıfınızda aşağıdaki yöntemi tanımlamanız yeterlidir.

Şimdi, bildirim sistemi şunları aramalı: email_address mülkün yerine email almak için mülk to adres.

Ve Laravel’deki bildirim sistemi bu şekilde kullanılır. Bu da bizi bu makalenin sonuna getiriyor!

Çözüm

Bugün yaşadıklarımız, Laravel’deki en kullanışlı ancak en az tartışılan özelliklerden biri olan bildirimlerdir. Kullanıcılara farklı kanallar üzerinden bildirim göndermenizi sağlar.

Hızlı bir girişten sonra, posta kanalı üzerinden bildirimlerin nasıl gönderileceğini gösteren gerçek dünyadan bir örnek uyguladık. Aslında, uygulamanızdaki durum değişiklikleri hakkında kısa mesajlar göndermeniz durumunda gerçekten kullanışlıdır.

Laravel’e yeni başlayanlar veya bilginizi, sitenizi veya uygulamanızı uzantılarla genişletmek isteyenler için, üzerinde çalışabileceğiniz çeşitli şeylerimiz var. Envato Pazarı.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.