Qu’est-ce qu’une Notification
Le système de Notification de Laravel permet d’envoyer des notifications via plusieurs canaux (mail, SMS, Slack, base…) avec une API unifiée. Différences Mail vs Notification
Pour envoyer la même information sur plusieurs canaux (ex. confirmation de paiement), Notification est adaptée.
Créer une Notification
Utilisezmake:notification.
app/Notifications/. Il expose via() et les méthodes de génération de message par canal.
Envoi
Trait Notifiable
App\Models\User inclut le trait Notifiable par défaut. Envoyez avec notify().
Notifiable peut être ajouté à n’importe quel modèle, pas seulement User.Façade Notification
Pour plusieurs destinataires simultanément :Spécifier les canaux
via() retourne les canaux à utiliser.
Canal e-mail
toMail() retourne un MailMessage.
Pour une erreur,
error() colore le bouton en rouge.
E-mails en Markdown
Générez avec--markdown.
markdown() dans toMail.
Canal base de données
Le canal database enregistre les notifications en base, pour affichage dans votre UI.Table
toArray()
data de notifications.
Lire les notifications
Via la relationnotifications du trait.
Marquer comme lues
Notifications en queue
Pour les traitements longs, implémentezShouldQueue et utilisez le trait Queueable. Ils sont inclus par défaut par make:notification.
notify() met alors automatiquement en file.
Envoi vers plusieurs canaux
Il suffit de retourner plusieurs canaux dansvia() et de définir les méthodes correspondantes.
Notifications à la demande
Pour envoyer à quelqu’un sans compte :Notification::route().