32 lines
No EOL
910 B
PHP
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
|
|
} |