Par Valentin Brosseau / @c4software
Un fichier PHP par page, le header copié partout, la session démarrée… parfois.
Question : où corrigez-vous un bug présent sur toutes les pages ?
Un seul fichier reçoit toutes les demandes : index.php.
index.php?page=bart, index.php?page=home…
Il gère une fois pour toutes : la session, le header, le footer, et la page demandée.
$whitelist = array('home', 'bart');Question : pourquoi ne pas faire directement include($_GET['page']) ?
Indice : que se passe-t-il si un visiteur demande ?page=../../config ?
ob_start();
session_start();
include('utils/db.php');La connexion à la base est écrite une fois, pas dans chaque page.
C'est tout l'intérêt du point d'entrée.
?page=.common/, pages/, public/, utils/.ob_start() en première ligne : la redirection restera possible.Place au TP 🚀