Le routing avec les paramètres $_GET
Le Routing avec les paramètres d'URL
Ce routing, vous le connaissez déjà un peu. En effet, depuis le début du module de PHP nous utilisons les paramètres d'URL pour savoir quelle page nous allons afficher.
Comme nous n'utilisions pas de routeur, la plupart du temps, c'était soit l' index.php soit le templates/layout.phtml qui se chargeait de dire quelle URL correspond à quelle page.
En MVC, on créé une classe spécifique pour s'en charger : le Router.
Le Router de base
Dans sa version la plus simple, un Router est une classe qui reçoit les paramètres $_GET et appelle les bonnes méthodes des bons controllers en fonction de la valeur de $_GET.
<?php
class Router
{
public function handleRequest()
{
// si j'ai reçu une route
if(isset($_GET["route"]))
{
if($_GET["route"] === "a-propos")
{
$ctrl = new PageController();
// j'affiche la page à propos
$ctrl->about();
}
else if($_GET["route"] === "contact")
{
$ctrl = new PageController();
// j'affiche la page à propos
$ctrl->contact();
}
else
{
// si on m'envoie une route qui n'existe pas
$ctrl = new DefaultController();
// j'affiche la page d'erreur 404
$ctrl->notFound();
}
}
else // si pas de route
{
$ctrl = new DefaultController();
// j'affiche la page d'accueil
$ctrl->home();
}
}
}
Et pour l'appeler depuis l' index.php:
<?php
$router = new Router();
$router->handleRequest();
01 December 2025