Aller au contenu principal
Version: 26.0.8.7

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