Le router

Résumé Support

Dans ce chapitre nous allons voir comment organiser les fichiers et la logique de notre application.

Le principe du router

En général on va chercher à rediriger toutes les requêtes vers un fichier index.php qui servira de carrefour, et qui inclura les bons fichiers en fonction de l'URL. Cette logique peut être écrite à la main où on peut se reposer sur une librairie pour gérer les fichiers à inclure en fonction du chemin.

Par exemple avec AltoRouter :

require '../vendor/autoload.php'; $uri = $_SERVER['REQUEST_URI']; $router = new AltoRouter(); $router->map('GET', '/', 'home'); $router->map('GET', '/contact', 'contact', 'contact'); $router->map('GET', '/blog/[*:slug]-[i:id]', 'blog/article', 'article'); $match = $router->match(); require '../elements/header.php'; if (is_array($match)) { $params = $match['params']; require "../templates/{$match['target']}.php"; } else { require "../templates/404.php"; } require '../elements/footer.php';

Dans cette vidéo j'utilise la version 1.2 d'AltoRouter, vous pouvez installer la même version que moi à l'aide de la commande require de composer.

composer require altorouter/altorouter:1.2.0