Desarrollar Macros en Laravel 5

Desarrollar Macros en Laravel 5
Las Macros en Laravel 5 nos permiten reutilizar html en nuestras templates blade para evitar escribir repetidas veces un trozo de código igual o similar.

Imagina que estás desarrollando una aplicación y ésta va a tener formularios, estos formularios tendrán campos de texto y todos ellos se van a mostrar siempre igual, con la misma apariencia, mismo comportamento etc, lo único que cambiará serán algunos atributos, pues este es un buen motivo para utilizar Macros en Laravel 5.

Desarrollar Macros en Laravel 5

Lo primero que vamos a hacer es crear un nuevo provider para hacer global la macro, aunque es cierto que se puede hacer de muchas formas, nosotros utilizaremos un provider, así que ejecuta el siguiente código en la terminal.

Ahora vamos a abrir el archivo que se acaba de crear en app/Providers/CustomInputTextProvider.php y añadimos el siguiente código.

Recuerda instalar antes Laravel Collective ya que lo vamos a utilizar.

Con ese trozo de código y gracias a Form::macro hacemos algo muy útil, definimos una caja de texto con su label, su campo de texto y su error de validación si existe, escribimos una vez y utilizamos muchas.

La Macro que hemos desarrollado se llama myInputText, así que en las templates Blade podremos acceder con Html::myInputText(‘name’, ‘label’, $errrors), pero antes de poder utilizarla debemos abrir el archivo config/app.php y añadir nuestro provider.

Ahora sí, abre un archivo .blade y añade el siguiente código, con el cual ya tendrás una Macro con Laravel 5 funcionando.

Cómo ya sabes, errors es una variable que tenemos disponible en Blade al realizar la validación de un formulario con el objeto Request.

Eso es todo, espero que te haya parecido interesante, puedes ver que el desarrollo de Macros en Laravel 5 es muy sencillo y nos ahorra mucho código y trabajo, cualquier duda escribe un comentario.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies