Skip to main content

Cosa sono le notifiche

Il sistema di notifiche di Laravel invia notifiche con un’API unificata su canali multipli: email, SMS, Slack, database, ecc. Differenza tra Mail e Notification Per notifiche uguali su più canali (es. conferma di pagamento), le Notification sono più adatte.

Creazione di una Notification

Le classi sono in app/Notifications/. Ogni classe ha un metodo via() e i metodi per generare il messaggio per ciascun canale.

Invio

Con il trait Notifiable

App\Models\User include già Notifiable. Usa notify().
Il trait Notifiable può essere aggiunto a qualsiasi modello, non solo a User.

Con la facade Notification

Per più utenti:
Per inviare subito (saltando la coda) usa sendNow().

Selezione dei canali

Il metodo via() restituisce l’array dei canali.
Puoi differenziare per preferenza utente.
Canali principali:

Canale email

Restituisci un MailMessage in toMail().
Metodi principali: Per un messaggio d’errore (pulsante rosso) usa error().

Email Markdown

Usa markdown al posto di view in toMail().

Canale database

Salva le notifiche in DB per mostrarle in app.

Preparazione della tabella

Metodo toArray

Salvato in JSON nella colonna data di notifications.

Recupero

Solo non lette:

Segnare come lette

Notifiche in coda

Aggiungi ShouldQueue e Queueable per elaborarle in background.
Con ShouldQueue, notify() mette automaticamente in coda.
Con delay:

Invio simultaneo su più canali

Restituisci più chiavi da via() e definisci i relativi metodi.

Notifiche on-demand

Per notificare utenti senza account, usa Notification::route().
Ultima modifica il 13 luglio 2026