Volver a la página principal
sábado 11 enero 2025
12

¿Cómo usar componentes en Laravel?

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.

¿Qué son los componentes en Laravel?

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.

Creación de un componente de clase

1. Para generar un componente, utiliza el siguiente comando en la terminal:

php artisan make:component NombreDelComponente

Esto creará:

  • Una clase en app/View/Components.
  • Una vista en 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 />

Parámetros en componentes

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;
}

Tabla de métodos comunes en componentes

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.

Ejemplos de uso

1. Componente para una tarjeta

  • Clase: Card.php
  • Vista: card.blade.php

Uso en Blade:

<x-card :title="$title" :content="$content" />

2. Componente anónimo

  • Vista: resources/views/components/button.blade.php

Uso en Blade:

<x-button>Enviar</x-button>

Referencias oficiales

Para más detalles, consulta la documentación oficial de Laravel sobre componentes.

Etiquetas:
php laravel
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer