Les controllers
Elementum suit l'architecture MVC, où les contrôleurs jouent un rôle central. Ils servent d'intermédiaire entre les modèles et les vues, en gérant la logique métier et en coordonnant le flux de données.
Créer un contrôleur
Pour générer un nouveau contrôleur, exécutez la commande suivante depuis la racine de votre thème ou plugin :
php dobby make:controller MyController
Cette commande crée automatiquement un fichier MyControleur.php dans le dossier app/Controllers du thème ou du plugin courant.
Emplacement des contrôleurs
- Pour les thèmes :
wp-content/themes/votre-theme/app/Controllers/ - Pour les plugins :
wp-content/plugins/votre-plugin/app/Controllers/
L'outil dobby est disponible à la racine de chaque thème et plugin compatible Elementum.
Structure d'un contrôleur
Voici un exemple de contrôleur généré automatiquement :
app/Controllers/MyController.php
<?php namespace MyProject\App\Controller; use Elementum\Abstract\Controller; use Elementum\Attributes\Template; class MyController extends Controller { /** * Affiche une page avec le template par défaut * * L'attribut #[Template('page')] indique à Elementum d'utiliser * le template 'page' pour cette méthode. */ #[Template('page')] public function page() { // Définition des variables à passer au template $donnees = [ 'titre' => 'Bienvenue', 'contenu' => 'Contenu de la page...' ]; // Rendu du template avec les données $this->render('@theme/page.html.twig', $donnees); } }