> For the complete documentation index, see [llms.txt](https://jjrdev.gitbook.io/luna/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jjrdev.gitbook.io/luna/o-basico/components.md).

# Components

Pequenas estruturas de uma view podem ser reaproveitadas em diferentes campos ou múltiplas vezes em uma mesma view, por isso é vantajoso transforma-la em um componente e melhorar a reutilização e renderização.

A criação de um component é bastante semelhante a criação de uma view e devem ser desenvolvidos em `/resources/components` também em `.html`:

```php
namespace App\Controllers\Pages;

use \App\Utils\Component;

class Product {
    public static function getProduct($req, $res) {
        // ...
        $productCard = Component::render('product-card', $product);
    }
}
```
