/* * On initialise le Router avec les paramètres de l'URL passés par le .htaccess * On initialise les SESSIONS. */ Router::initialize($_GET); Session::initialize(); /* * On assigne dans des variables : * - Le nom de classe du controlleur à instancier * - Le chemin de fichier PHP de la classe du controleur * - Le nom de la méthode à appeler * - Les eventuelles variables passées par URL */ $controllerName = Router::getControllerName(); $controllerFilePath = CONTROLLERS_DIR . Router::getControllerFilename(); $methodName = Router::getMethodName(); $args = Router::getArgs(); // On charge le controleur appellé ou celui par défaut if (file_exists($controllerFilePath)) { include_once $controllerFilePath; $controllerInstance = new $controllerName(); // On appelle beforeFilter(); if (method_exists($controllerInstance, 'beforeFilter')) { $controllerInstance->beforeFilter(); } // Si une méthode est définie if (method_exists($controllerInstance, $methodName)) { $controllerInstance->{$methodName}($args); } else { Error::throwError('Erreur 404!', 'Erreur 404! : La page demandée est inexistante ou n\'existe plus.'); }