¡INSCRÍBETE A CUALQUIER CURSO CON UN 50% DE DESCUENTO PARA NUEVOS CLIENTES!


En Laravel 5 tenemos disponibles además de los mailables las notificaciones, éstas nos permiten además del envío por correo electrónico el envío de SMS (a través de Nexmo) y Slack.

Por si fuera poco, las notificaciones también pueden almacenarse en una base de datos para que se muestren en su interfaz web, pero este tema ya lo trataremos en otra entrada.

En este tutorial vamos a ver cómo enviar notificaciones en Laravel 5 a usuarios registrados pero también a usuarios no registrados, ¿por qué digo a usuarios no registrados?, fácil, porque por defecto, las notificaciones en Laravel 5, siempre deben enviarse a usuarios registrados.

Crear notificaciones con Artisan

Crear notificaciones en Laravel 5 es muy sencillo gracias al comando artisan, ejecutando el siguiente comando tenemos suficiente.

El comando anterior habrá creado el archivo app/Notifications/NewNotification.php con el siguiente código, una clase 100% funcional para enviar notificaciones.

Enviar notificaciones a usuarios registrados

En el modelo User, si lo abrimos, veremos que por defecto se utiliza un Trait llamado Notifiable el cual a su vez utiliza el Trait RoutesNotifications y éste contiene el método notify, el cual podemos utilizar de la siguiente forma.

Por lo tanto, podemos ver en el método newNotification que estamos enviando una notificación a un usuario ya registrado, sólo por llamar a ese método y configurar en nuestro caso las credenciales de email del archivo .env tenemos suficiente, la notificación será enviada y todo estará funcionando perfectamente.

Enviar notificaciones fuera del modelo User

Aunque es algo bastante obvio, prefiero no dar nada por hecho, así que vamos a poner un sencillo ejemplo para enviar nuestra notificaciones por ejemplo desde el sistema de rutas.

Enviar notificaciones a usuarios no registrados

Algo que también puede resultar útil es enviar una notificación a usuarios que no estén registrados en nuestra aplicación, para ello, simplemente deberíamos utilizar el siguiente código.

Con (new User)->forceFill podemos crear un usuario no persistente pero funcional para las notificaciones :).

Paso de datos a las notificaciones

Si queremos utilizar algún dato dentro de nuestras notificaciones simplemente debemos pasar esta información al constructor y establecer estos datos cómo propiedades de la clase Notificacion.

Personalizar la template de notificaciones

Si además quieres personalizar y modificar la template de notificaciones, lo más sencillo es publicar el recurso con el siguiente comando.

Una vez hecho, selecciona laravel-notifications.

Este comando habrá creado el archivo resources/views/vendor/notifications/email.blade.php el cual será utilizado para el envío de notificaciones y lo podrás modificar a tus necesidades.

Eso es todo, espero que te haya parecido útil e interesante el trabajo con Notificaciones en Laravel 5.