À propos de ce tutoriel
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