📘 Chapitre 7 – include, require, modularisation

1. 🎯 Objectif pédagogique

Comprendre l’usage de include et require pour séparer le code en plusieurs fichiers, afin de rendre un projet PHP plus modulaire, lisible et réutilisable.

2. 📚 Concepts abordés

  • Différences entre include et require
  • Utilisation de include_once et require_once
  • Structure modulaire d’un projet (header, footer, config)
  • Avantages de la modularisation (maintenance, réutilisation)
  • Gestion des chemins relatifs (../, ./)

3. 🧠 Explication théorique

En PHP, include et require permettent d’inclure un fichier dans un autre pour éviter la duplication de code.

  • include : génère un warning si le fichier n’est pas trouvé, mais continue l’exécution.
  • require : génère une erreur fatale et stoppe l’exécution.
  • include_once et require_once : garantissent qu’un fichier est inclus une seule fois.

Exemple simple :

include 'header.php';
require 'config.php';

4. 🛠 Tutoriel pratique

Résumé du travail : Créer un mini-site avec un header, un footer et une page d’accueil en utilisant include.

Arborescence projet :

projet_php/
 ├── header.php
 ├── footer.php
 └── index.php

Étape 1 : Créer header.php

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <title>Mon Site PHP</title>
</head>
<body>
    <header>
        <h1>Bienvenue sur mon site</h1>
        <hr>
    </header>

Étape 2 : Créer footer.php

    <footer>
        <hr>
        <p>&copy; 2025 - Mon Site PHP</p>
    </footer>
</body>
</html>

Étape 3 : Créer index.php

<?php
include 'header.php';
?>
<main>
    <h2>Page d'accueil</h2>
    <p>Contenu de la page principale.</p>
</main>
<?php
include 'footer.php';
?>

Étape 4 : Tester

Accéder à http://localhost/projet_php/index.php et vérifier l’affichage.

5. 🧾 Résumé et points-clés

  • include et require simplifient la maintenance en réutilisant du code commun.
  • require_once et include_once évitent les inclusions multiples.
  • Une structure modulaire (header, footer, config) est la base des projets PHP.
  • Les chemins relatifs doivent être correctement définis (./ ou ../).