Aller au contenu principal
Version: Next

Les attributs

Elementum est axé sur la simplicité, c'est pourquoi il utilise les attributs PHP.

Rappel

Pour faire simple, les attributs PHP permettent d'exécuter des méthodes en y ajoutant une logique prédéfinie. Avec Elementum, ils servent principalement à appeler les méthodes des contrôleurs dans des contextes spécifiques.

Exemple d'utilisation

Dans l'exemple ci-dessous, la méthode defaultPage sera appelée pour afficher les pages par défaut.

Avec Elementum, on utilisera l'attribut #[Template('page')] au lieu de créer des fichiers page.php à la racine du thème.

Pour en savoir plus sur les attributs disponibles dans Elementum, consultez la section Attributs.

<?php

namespace Elementum\Controllers;

use Elementum\Controllers\Controller;
use Elementum\Attributes\Template;
use Elementum\Attributes\Component;

class MyController extends Controller
{
    #[Template('page')]
    public function defaultPage()
    {
        $name = 'John';
        $age = 30;
        $this->render('@theme/page.html.twig', [
            'name' => $name,
            'age' => $age
        ]);
    }

    #[Component('layout/header')]
    public function header()
    {
        $page = $this->adminPages()->getPage('client')?->getSettingsValue();

        if (!$page) {
            return [];
        }
        
        return [
            "title" => $page->title ?? blog_info('title')
        ];
    }
}