Home | Clases | Creación de un CMS en PHP con Laravel | Helpers

Helpers


Introducción

Si bien Laravel incluye una gran variedad de helpers por defecto que nos hacen la vida más sencilla y que puedes consultar en https://laravel.com/docs/5.8/helpers, lo cierto es que en muchas ocasiones vamos a necesitar crear nuestros propios helpers personalizados de cada aplicación.

En concreto, en la mayoría de las aplicaciones nos va a resultar útil tener dos tipos de helpers, que son los que vamos a desarrollar aquí:

Funciones: para diferentes funciones o métodos de ayuda que se repiten en diferentes controllers o que ocupan mucho espacio en el mismo (por ejemplo, la función getSlug() de NoticiaController).

Vistas: para los diferentes cálculos de vistas, como por ejemplo el color o tipo de icono que debe ir en los listados de usuarios o noticias.


Creación de los helpers

Vamos a crear los dos helpers de manera manual, simplemente creando una nueva carpeta llamada Helpers dentro de app y creando dentro de ella 2 nuevas clases PHP llamadas Funciones y Vistas con el siguiente contenido:






Registro de los helpers en la aplicación

Para poder utilizar estos helpers en nuestra aplicación, debemos registrarlos previamente.

Para ello, modifica el archivo config/app.php para que incluya los alias correspondientes a dichos helpers:



Hecho esto, ya podemos utilizar los helpers en cualquier controlador, o incluso directamente en las vistas.


Uso de Funciones en NoticiaController

Modifica NoticiaController para usar la función getSlug() de Funciones en vez de la que está en el propio controlador (que directamente puedes borrar):




Uso de Vistas en listado de usuarios




Ejercicios propuestos


  • Modifica el proyecto para que, mediante un método en Funciones, se verifique que el slug es único al crear o guardar la noticia (añadiendo algo aleatorio al final en caso contrario).

  • Modifica las vistas de listado de usuario y noticias para que, mediante un método en Vistas, los permisos de usuarios y noticias aparezcan con el icono de check_circle verde si están a 1 o con el icono de block rojo si están a 0 (Pulsa AQUÍ para ver la información sobre los iconos de Materialize)



Fecha de publicación: 24/05/2019
Asignaturas: desarrollo web en entorno servidordespliegue de aplicaciones web
Temas: blog gestor de contenidos laravel php css jquery
Utilizamos cookies propias y de terceros para mejorar su experiencia en la navegación. Al seguir navegando entendemos que acepta su uso.
Si lo desea, consulte nuestras políticas de privacidad y cookies
ENTENDIDO
[X] Cerrar

Contacta conmigo


[X] Cerrar

Acceso alumnos