WorkSpace Layout
Dans ce projet, deux layouts distincts sont utilisés pour structurer l'affichage des différentes interfaces utilisateur : WorkSpace (Espace de travail) et UserSpace (Espace utilisateur). Cette séparation permet une meilleure organisation du code, une gestion plus claire des permissions et une expérience utilisateur adaptée à chaque type d'acteur du système.
Utilisation
Dans les pages, il suffit de définir la variable $layout pour indiquer l'utilisation du Workspace :
<?php
$layout = 'workspace';
?>
Le routeur détecte cette variable et charge automatiquement layouts/workspace.php qui inclura la page demandée dans la section principale du layout.
Structure du Workspace
Le fichier layouts/workspace.php encapsule toutes les pages nécessitant cette interface. Il inclut :
- Head (includes/head.php)
- Topbar (includes/topbar.php)
- Sidebar (includes/sidebar.php)
- Contenu principal (chargé dynamiquement en fonction de la page demandée)
- Footer (includes/footer.php)
Chargement Dynamique des Layouts
Le fichier index.php agit comme un routeur et charge le bon layout en fonction de la variable $layout définie dans chaque page.
Exemple de logique de chargement dynamique :
<?php
if (isset($layout) && file_exists(__DIR__ . "/layouts/$layout.php")) {
require __DIR__ . "/layouts/$layout.php";
} else {
require $pagePath; // Charge directement la page si aucun layout n'est défini
}
?>