Les bases
Travaux pratiques
L'objet
Travaux pratiques 2
Présentation du projet20-05-2019 12:00:00, ou devenir premium
03 min
Création de la structure21-05-2019 12:00:00, ou devenir premium
21 min
Le routeur22-05-2019 12:00:00, ou devenir premium
18 min
Remplir la base de données23-05-2019 12:00:00, ou devenir premium
15 min
Listing d'articles24-05-2019 12:00:00, ou devenir premium
24 min
Pagination25-05-2019 12:00:00, ou devenir premium
16 min
Simplifions la gestion de l'URL26-05-2019 12:00:00, ou devenir premium
20 min
Page article27-05-2019 12:00:00, ou devenir premium
23 min
Page catégorie28-05-2019 12:00:00, ou devenir premium
10 min
Réorganisation de la pagination28-05-2019 12:00:00, ou devenir premium
29 min

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