Maintenant que l'on a posé la logique nous allons chercher à organiser notre code afin de nous simplifier le travail par le suite. Comme on le remarque très peu de choses changent lorsque l'on enregistre nos routes.

  • L'URL à capturer
  • La "vue" à charger
  • Le nom de la route

Ces paramètres permettent d'établir la signature idéale de notre méthode.

$router = new Router(dirname(__DIR__) . '/views');
$router->get('/blog', 'post/index', 'blog');
$router->get('/blog/category/[*:slug]', 'category/index', 'category');
$router->get('/blog/[*:slug]-[i:id]', 'post/show', 'category');
// $router->get(string $url, string $vue, string $nom)

Nous allons donc chercher à créer une classe qui corresponde à cette signature.