Commentaires
Arthur, l'apprenti développeurSi j'ai bien compris, c'est dans l'index qu'on va appeler le routeur?

Oui c'est bien ça, l'idée est de réussir à récupérer la route associée à notre httpRequest.

Arthur, l'apprenti développeurOk, je me lance !

{"language":"application/x-httpd-php","content":"<?php\n\t$configFile = file_get_contents(\"ConfigFile/config.json\");\n\t$config = json_decode($configFile);\n\n\tspl_autoload_register(function($class) use($config)\n\t{\n\t\tforeach($config->autoloadFolder as $folder)\n\t\t{\n\t\t\tif(file_exists($folder . '/' . $class . '.php'))\n\t\t\t{\n\t\t\t\trequire_once($folder . '/' . $class . '.php');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n\t\t\t\t\t\t \n\t$router = new Router();\n\t$router->findRoute();","filename":"index.php"}


Arthur, l'apprenti développeurC'était simple !

Tu a oublié quelques petits détails tout de même, déjà la méthode findRoute() prend un paramètre $httpRequest et retourne une route si elle a été trouvée. Et il serait préférable d'utiliser un try/catch sur ces instructions, pour attraper les éventuelles exceptions levées.

Arthur, l'apprenti développeurAh oui tu as raison.

{"language":"application/x-httpd-php","content":"<?php\n\t$configFile = file_get_contents(\"ConfigFile/config.json\");\n\t$config = json_decode($configFile);\n\n\tspl_autoload_register(function($class) use($config)\n\t{\n\t\tforeach($config->autoloadFolder as $folder)\n\t\t{\n\t\t\tif(file_exists($folder . '/' . $class . '.php'))\n\t\t\t{\n\t\t\t\trequire_once($folder . '/' . $class . '.php');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n\ttry\n\t{\n\t\t$httpRequest = new HttpRequest();\n\t\t$router = new Router();\n\t\t$route = $router->findRoute($httpRequest);\n\t}\n\tcatch(Exception $e)\n\t{\n\t\techo \"Une erreur s'est produite\";\n\t}","filename":"index.php"}


C'est mieux, mais je te propose que nous ajoutions une propriété "route" à notre classe HttpRequest, afin d'enregistrer la route trouvé directement dedans plutôt que dans une variable.

Arthur, l'apprenti développeurJe fais ça !

{"language":"application/x-httpd-php","content":"<?php\n\tclass HttpRequest\n\t{\n\t\tprivate $_url;\n\t\tprivate $_method;\n\t\tprivate $_param;\n\t\tprivate $_route;\n\t\t\n\t\tpublic function __construct()\n\t\t{\n\t\t\t$this->_url = $_SERVER['REQUEST_URI'];\n\t\t\t$this->_method = $_SERVER['REQUEST_METHOD'];\n\t\t}\n\t\t\n\t\tpublic function getUrl()\n\t\t{\n\t\t\treturn $this->_url;\t\n\t\t}\n\t\t\n\t\tpublic function getMethod()\n\t\t{\n\t\t\treturn $this->_method;\t\n\t\t}\n\t\t\n\t\tpublic function getParams()\n\t\t{\n\t\t\treturn $this->_params;\t\n\t\t}\n\t\t\n\t\tpublic function setRoute($route)\n\t\t{\n\t\t\t$this->_route = $route;\t\n\t\t}\n\t}","filename":"HttpRequest.php"}


{"language":"application/x-httpd-php","content":"<?php\n\t$configFile = file_get_contents(\"ConfigFile/config.json\");\n\t$config = json_decode($configFile);\n\n\tspl_autoload_register(function($class) use($config)\n\t{\n\t\tforeach($config->autoloadFolder as $folder)\n\t\t{\n\t\t\tif(file_exists($folder . '/' . $class . '.php'))\n\t\t\t{\n\t\t\t\trequire_once($folder . '/' . $class . '.php');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n\ttry\n\t{\n\t\t$httpRequest = new HttpRequest();\n\t\t$router = new Router();\n\t\t$httpRequest->setRoute($router->findRoute($httpRequest));\n\t}\n\tcatch(Exception $e)\n\t{\n\t\techo \"Une erreur s'est produite\";\n\t}","filename":"index.php"}


Parfait, on a pu récupérer notre route, on approche du premier appel. On va passer à la suite, je te laisse deviner.

Arthur, l'apprenti développeurL’exécution de la route pour appeler un contrôleur?

Pas encore, il nous reste quelques petites étapes avant, à commencer par la récupération des paramètres de requête. J'ai terminé cette partie
Demander de l'assistance