| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- /**
- * Point d'entrée principal de l'application
- *
- * Ce fichier charge la configuration et affiche la page d'accueil.
- */
- // Chargement de la configuration
- $config = require_once __DIR__ . '/../config/config.php';
- // Chargement des routes
- $routes = require_once __DIR__ . '/../routes/web.php';
- // Récupération de l'URI demandée
- $rawUri = $_SERVER['REQUEST_URI'] ?? '/';
- $uri = parse_url($rawUri, PHP_URL_PATH);
- // Gestion des environnements avec un sous-dossier (comme MAMP)
- $basePath = '/map-generator';
- if (strpos($uri, $basePath) === 0) {
- $uri = substr($uri, strlen($basePath));
- }
- // Si l'URI est vide, on la définit sur /
- if (empty($uri)) {
- $uri = '/';
- }
- // Gestion du routing
- if (isset($routes[$uri])) {
- $route = $routes[$uri];
-
- if (is_callable($route)) {
- $route = $route();
- }
-
- if (is_array($route) && count($route) === 2) {
- [$controller, $method] = $route;
- $controller::$method();
- } else {
- // Page 404
- http_response_code(404);
- echo "Page non trouvée";
- }
- } else {
- // Routes simples non-statiques (paramètres)
- // Edition d'un projet : /projects/{id}/edit
- if (preg_match('#^/projects/(\d+)/edit$#', $uri, $m)) {
- require_once __DIR__ . '/../app/Controllers/HomeController.php';
- HomeController::editProject((int)$m[1]);
- return;
- }
- // Page non trouvée
- http_response_code(404);
- echo "Page non trouvée";
- }
|