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