Los componentes en Laravel son una herramienta poderosa que permite crear piezas reutilizables de código para las vistas. Facilitan la separación de la lógica de presentación y mejoran la mantenibilidad del proyecto, permitiendo crear elementos dinámicos con datos específicos.
Los componentes de Laravel son clases y vistas asociadas que encapsulan lógica y diseño. Se dividen en componentes de clase y componentes anónimos, dependiendo de si necesitan una clase PHP adicional o solo una vista. Estos se utilizan principalmente en el sistema de plantillas Blade.
1. Para generar un componente, utiliza el siguiente comando en la terminal:
php artisan make:component NombreDelComponente
Esto creará:
app/View/Components
.
resources/views/components
.
2. En la clase del componente puedes definir la lógica que será utilizada en la vista.
3. La vista asociada se puede invocar en Blade utilizando:
<x-nombre-del-componente />
Los componentes pueden aceptar parámetros. Por ejemplo, si deseas pasar datos a un componente, puedes hacerlo así:
En la vista Blade:
<x-nombre-del-componente :dato="$valor" />
En la clase del componente, define el parámetro:
public $dato;
public function __construct($dato)
{
$this->dato = $dato;
}
Método / Comando | Descripción |
---|---|
php artisan make:component
|
Genera un nuevo componente de clase. |
public function render()
|
Retorna la vista asociada al componente. |
{{ $slot }}
|
Muestra contenido dinámico dentro del componente. |
<x-nombre-componente atributo="valor" />
|
Define atributos para el componente en Blade. |
1. Componente para una tarjeta
Card.php
card.blade.php
Uso en Blade:
<x-card :title="$title" :content="$content" />
2. Componente anónimo
resources/views/components/button.blade.php
Uso en Blade:
<x-button>Enviar</x-button>
Para más detalles, consulta la documentación oficial de Laravel sobre componentes.
Jorge García
Fullstack developer