Todos sabemos lo que son los mensajes flash. Casi todos los sitios web modernos los utilizan de una forma u otra. Un mensaje flash se utiliza para comunicar al usuario del sitio web o aplicación que se ha producido un evento. Muchas veces verá una redirección con mensaje flash . Esto puede ser algo que el usuario tenía la intención de hacer, o podría ser algo informativo. La clave para recordar acerca de los mensajes flash es que no son persistentes. En otras palabras, se utilizan en un tipo de escenario único. Los modernos marcos frontales tienen todo tipo de estilos integrados en las clases para trabajar con mensajes Flash. En este episodio, veremos el uso de Laravel para alimentar algunos mensajes flash al estilo de Twitter Bootstrap. ¡Adelante!
Contenedor Flash
Primero, debemos considerar dónde vamos a mostrar los mensajes flash. Por lo general, puede colocar un div como marcador de posición en una página maestra. Por lo tanto, todas sus vistas reales ampliarán la página maestra y tendrán acceso al div para que los mensajes flash puedan mostrarse fácilmente en cualquier lugar de su aplicación. Lea sobre Blade en Laravel si necesita un repaso sobre cómo configurar su página maestra.
Esta será nuestra página maestra que contendrá nuestro contenedor:
default.blade.php
Basado en acciones del usuario
Los mensajes flash generalmente se generan en función de las acciones que realiza el usuario. También se les puede enviar un mensaje flash para consultar al usuario si está seguro de que quiere realizar una acción. Piensa en un escenario como cuando tus amigos te retan a probar la salsa picante más picante de la tierra mientras estás comiendo alitas de pollo con ellos. Tu buen amigo puede saltar y darte un mensaje flash como "¡Espera amigo! ¿Estás seguro de que quieres inutilizar tu boca durante una semana? Tienes la idea.
Aquí simplemente crearemos una aplicación ficticia que tiene cuatro acciones simples que puede realizar un usuario. Pueden iniciar sesión, editar, cancelar y eliminar su cuenta. Cada vez que el usuario realiza una acción, simplemente será redirigido a la página de inicio. De hecho, a los efectos de esta demostración, la vista de inicio es la * única * vista en toda la aplicación. Esto le dará una idea de cómo funcionan realmente los mensajes flash.
Sesión :: flash ()
Hay un par de formas de hacer esto, pero el primer enfoque utilizará Session :: flash () . Ok, aquí está nuestra pequeña aplicación hasta ahora:
route.php
entonces que tenemos aqui? Bueno, cada ruta es un ejemplo de cómo completar la acción que infiere el nombre de la ruta, establecer un mensaje flash y luego redirigir al usuario a la página de inicio.
Todas las vistas heredan de default.blade.php
Así que tenemos nuestra página maestra configurada, que incluye algunos enlaces a redes externas de entrega de contenido para facilitar el acceso a las clases de arranque de Twitter que usaremos en este episodio. También incluimos una cláusula if para verificar si hay un mensaje flash presente para que solo lo visualicemos una vez. ¿Cuándo aparecerá el mensaje flash? El mensaje flash se mostrará solo durante la redirección inicial a la página de inicio. Una vez que comience a recargar la página de inicio, la sesión flash se borrará y no verá ningún mensaje. Aquí está nuestra vista de inicio:
home.blade.php
Entonces, lo que podemos ver aquí es que se home.blade.php
extiende layouts.default
. layouts.default
en realidad se refiere al nombre de archivo default.blade.php, así que asegúrese de tenerlo en cuenta. En esta vista de inicio, solo utilizamos algunos mecanismos de enlace simples para hacer clic fácilmente entre la página de inicio y las diversas acciones del usuario para iniciar sesión, editar, cancelar y eliminar. Lo que debería suceder entonces en esta aplicación es lo siguiente. Cada vez que el usuario hace clic en cualquiera de los elementos relacionados con la acción, se configurará el flash, y cuando Laravel redirija al usuario a la página de inicio, lo hará con el mensaje flash que se mostrará en la carga de la página inicial. Simplemente haciendo clic en el enlace ir a casa actualizará la página y borrará cualquier mensaje flash. Probémoslo:
Iniciando sesión
|
Editar perfil
|
Cancelar membresía
|
Borrar cuenta
|
¡Frio! Ahora, cada vez que haga clic en los enlaces para ir a casa, la página de inicio se cargará y no habrá ningún mensaje flash. Esto se debe a que el mensaje flash es solo para la carga de la página inicial.
Mensajes flash mediante encadenamiento
En la verdadera forma de Laravel, hay más de una forma de lograr algo. En el caso de los mensajes flash, vimos que al usar Session :: flash () , pudimos poner un mensaje en la sesión flash para poder acceder a nuestras vistas de forma única. Entonces podríamos usar Session :: has () y Session :: get () para crear nuestros mensajes. Si prefiere el estilo de sintaxis de encadenamiento de métodos, puede crear fácilmente sus Sesiones de mensajes Flash usando -> con () así:
Probar este nuevo método de aplicar nuestros datos flash tiene el mismo efecto. Además, cuando visitamos o recargamos la página de inicio, podemos ver que no se muestra ningún mensaje, tal como pretendíamos.
La comida para llevar intermitente
¿Tiene que usar mensajes Flash en sus aplicaciones? Por supuesto que no, pero son una forma realmente agradable de orientar al usuario durante la navegación de su sitio web o aplicación. Personalmente, soy un gran fanático del uso de mensajes flash. Me confundieron al principio, pero ahora que hemos aplastado este tutorial juntos, ¡trabajar con mensajes Flash en Laravel no podría ser más fácil!
0 Comentarios