Aller au contenu principal
Version: 26.0.8.0

Component

L'attribut Component permet de lier une méthode à un composant Twig, permettant d'injecter des données et de la logique métier dans vos templates.

Utilisation de base

app/Controllers/MyController.php
use Elementum\Attributes\Component;

class MyController extends Controller
{
    #[Component('blog/article-card')]
    public function articleCard(): array
    {
        return [
            'title' => 'Mon titre',
            'content' => 'Mon contenu',
            'date' => date('d/m/Y')
        ];
    }
}

Paramètre obligatoire

name Requis

  • Type : string
  • Description : Chein du composant Twig correspondant
  • Exemple : 'blog/article-card'
  • Remarque : Doit correspondre au chemin du template Twig sans l'extension

Utilisation dans les templates

Appel du composant

templates/base.html.twig
{{ component('blog/article-card') }}

Template du composant

templates/components/blog/article-card.html.twig
<article class="article-card">
    <h2>{{ title }}</h2>
    <div class="content">{{ content|raw }}</div>
    <footer>Publié le {{ date }}</footer>
</article>

Bonnes pratiques

  • Nommage : Utilisez des noms de méthodes descriptifs qui reflètent le rôle du composant
  • Retour : La méthode doit toujours retourner un tableau associatif
  • Séparation : Gardez la logique dans le contrôleur et l'affichage dans le template
  • Documentation : Commentez les paramètres attendus et le rôle du composant