PHP — Inclusions et structure de projet
require, include, layout partagé et organisation du code
Concepts Théoriques
Jusqu'ici, tout votre code est dans un seul fichier. C'est ingérable dès que le projet grandit. Ce chapitre introduit les inclusions PHP pour partager du code entre les pages et organiser votre projet en fichiers logiques.
include et require
- include 'fichier.php' — inclut le fichier. Si le fichier n'existe pas, PHP affiche un warning mais continue.
- require 'fichier.php' — inclut le fichier. Si le fichier n'existe pas, PHP stoppe avec une erreur fatale.
- require_once 'fichier.php' — comme require mais ne charge le fichier qu'UNE seule fois, même si appelé plusieurs fois. Utilisez-le pour les fichiers de configuration et fonctions.
En pratique : require_once pour config et fonctions, require pour header/footer.
Le pattern layout — un template commun
Chaque page de DevBlog partage le même header (navigation) et footer. Au lieu de copier-coller ce code dans chaque fichier :
- Créez includes/header.php avec le <!DOCTYPE html>, <head>, <header>, <nav>
- Créez includes/footer.php avec le <footer>, </body>, </html>
- Dans chaque page : require header, contenu spécifique, require footer
Vous pouvez passer des variables au header (titre de la page, classe CSS active) pour personnaliser chaque page.
Organisation du projet
Un projet PHP bien organisé sépare :
- config/ — configuration (base de données, constantes)
- includes/ — fichiers partagés (header, footer, fonctions)
- pages/ — les pages du site
- public/ — CSS, JS, images (fichiers accessibles directement)
- admin/ — panel d'administration
> Bonne pratique : Ne dupliquez JAMAIS du code. Si vous copiez-collez un bloc de code, c'est un signe qu'il faut le mettre dans un fichier inclus ou une fonction.