projet_php/index.php
2026-03-03 22:23:25 +01:00

32 lines
No EOL
910 B
PHP

<?php
session_start();
require(__DIR__ . "/vendor/autoload.php");
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->safeLoad();
$strCtrl = $_GET['ctrl'] ?? 'project';
$strMethod = $_GET['action'] ?? 'home';
$strClassName = "Controllers\\" . ucfirst($strCtrl) . "Ctrl";
$boolError = false;
if (class_exists($strClassName)) {
$objController = new $strClassName();
if (method_exists($objController, $strMethod)) {
$objController->$strMethod();
} else {
$boolError = true;
}
} else {
$boolError = true;
}
if ($boolError) {
http_response_code(404); // ← important pour le SEO et les navigateurs
$error = new \Controllers\ErrorCtrl();
$error->error_404(); // ← pas de "return", juste l'appel
exit; // ← stoppe l'exécution après l'affichage
}