Contenido del curso
Proyecto con Laravel 8
- 5

Creación de Proyecto Web con Laravel 8 y Tailwind CSS
03:03 min - 6

Instalación y Configuración de Laravel 8 con Tailwind CSS
11:18 min - 7

Creación de Datos Semilla en Laravel con Faker
09:55 min - 8

Configuración de Rutas y Vistas en Laravel con JetStream
10:01 min - 9

Creación de Plantillas Web con Blade y Tailwind CSS en Laravel
11:16 min - 10

Configuración de Plantillas Blade en Visual Studio Code
08:21 min - 11

Creación de Componentes Dinámicos con Livewire en Laravel
08:16 min - 12

Creación de Campos Virtuales en Componentes con Tailwind CSS
12:05 min - 13

Creación de Controladores y Rutas en Laravel 8
07:45 min - 14

Rutas dinámicas y maquetación de cursos en PHP con Laravel
11:31 min - 15

Configuración de Listado de Lecciones en Visual Studio
07:08 min - 16

Configuración de Cursos Similares en Visual Studio
06:34 min - 17

Creación y Uso de Componentes Blade en Laravel
Viendo ahora - 18

Personalización de Elementos en JetStream con Visual Studio
06:04 min
Conclusión
Bonus
Creación y Uso de Componentes Blade en Laravel
Resumen
Cuando el diseño visual ya está resuelto, el siguiente paso es optimizar el código para que sea fácil de mantener a largo plazo. Aquí es donde los componentes Blade de Laravel se convierten en aliados indispensables: permiten aislar fragmentos de HTML, reutilizarlos en distintas vistas y aplicar cambios en un solo lugar que se reflejan en todo el sitio.
¿Cómo se crea un componente Blade con Artisan?
El proceso comienza en la terminal de Visual Studio Code. Con el comando php artisan make:component se genera la estructura necesaria [01:07]. En el ejemplo, el componente se llama CourseCard (tarjeta de curso), aunque puede llevar cualquier nombre descriptivo.
bash php artisan make:component CourseCard
Al ejecutar este comando, Laravel crea automáticamente un archivo dentro de la carpeta resources/views/components/ [01:38]. Inicialmente ese archivo está vacío y listo para recibir el HTML que se desea aislar.
¿Qué contenido se coloca dentro del componente?
Del archivo Livewire original se extrae únicamente el diseño de cada tarjeta de curso, sin incluir el @foreach. La lógica de consulta permanece en la clase Livewire; el componente Blade solo se encarga de la presentación visual [02:06].
- Se corta el bloque HTML que representa una tarjeta individual.
- Se pega dentro del archivo del componente Blade.
- Se organiza el código para que quede limpio.
¿Cómo se invoca el componente en las vistas?
Utilizar el componente es extremadamente sencillo. Se emplea la sintaxis <x-nombre> [02:25]:
blade @foreach($cursos as $curso) <x-course-card :curso="$curso" /> @endforeach
- La etiqueta
<x-course-card>llama al componente. - El atributo
:cursopasa la variable necesaria para que el componente renderice la información de cada curso. - Esta misma línea se puede reutilizar en cualquier vista que necesite mostrar tarjetas de cursos.
¿Por qué un componente Livewire puede contener componentes Blade?
Un componente Livewire maneja consultas a la base de datos, lógica de negocio y diseño. Dentro de su vista puede incluir N cantidad de componentes Blade [03:24]. Cada componente Blade funciona como un fragmento de HTML aislado, sin mayor complejidad.
Esta separación ofrece ventajas claras:
- Reutilización real: la misma tarjeta aparece en la sección de cursos similares, en últimos cursos y en el home, todo apuntando a un único archivo.
- Edición centralizada: si el cliente pide eliminar el extracto de las tarjetas, el cambio se hace en un solo sitio y se refleja en todas las páginas [03:44].
- Organización superior: el código queda estructurado por responsabilidades.
¿Qué problemas resuelve trabajar con componentes?
En el desarrollo tradicional era común copiar y pegar bloques de HTML en múltiples archivos. Esto generaba un escenario problemático: al solicitar un cambio, el programador lo aplicaba en algunas zonas pero olvidaba otras, provocando inconsistencias y errores difíciles de rastrear [04:30].
Trabajar con componentes Blade elimina ese riesgo:
- Un único componente, una única edición, múltiples efectos en todo el sitio web.
- La variable
$cursosse genera en la clase Livewire correspondiente, ubicada enapp/Http/Livewire/[04:52], y se pasa al componente Blade de forma transparente. - Se obtiene el mismo diseño visual pero con una arquitectura de código preparada para crecer sin acumular deuda técnica.
El concepto de mantenibilidad queda resuelto desde el inicio: cada pieza visual vive en su propio archivo, cada consulta en su clase, y la conexión entre ambos es clara y predecible. Si estás construyendo un proyecto con Laravel y Livewire, aplicar esta práctica desde el primer día te ahorrará horas de trabajo en el futuro. ¿Ya utilizas componentes Blade en tus proyectos? Comparte tu experiencia en los comentarios.