Chapitre 20 : Inclusion de fichiers

Apprenez à structurer vos projets PHP en utilisant efficacement les inclusions de fichiers avec include, require et leurs variantes.

1. Introduction

Lorsque votre projet grandit, il devient nécessaire de répartir votre code en plusieurs fichiers. PHP permet cela grâce aux instructions include et require, qui insèrent le contenu d'un fichier dans un autre.

2. include

Inclut un fichier, mais ne provoque pas d'erreur fatale s'il est manquant :

<?php
  include "header.php";
?>
Note : Si le fichier n'existe pas, un warning est affiché mais le script continue.

3. require

Comme include, mais génère une erreur fatale si le fichier est introuvable :

<?php
  require "config.php";
?>

Utilisez require pour les fichiers indispensables au fonctionnement du script.

4. include_once / require_once

Évite d'inclure plusieurs fois le même fichier :

<?php
  include_once "fonctions.php";
  require_once "classes/Utilisateur.php";
?>

Très utile pour les bibliothèques ou les définitions de classes.

5. Organisation typique d'un projet

Voici un exemple d'organisation modulaire :

  • index.php – point d'entrée
  • config.php – configuration globale
  • includes/ – en-tête, pied de page, menu
  • classes/ – définitions orientées objet
  • functions/ – fonctions réutilisables

6. Exemple concret

Fichier : header.php

<header>
  <h1>Mon site</h1>
</header>

Fichier : index.php

<?php include "header.php"; ?>
<p>Bienvenue sur la page d'accueil.</p>

7. Chemins relatifs et absolus

Les chemins peuvent être relatifs :

include "includes/menu.php";

Ou absolus (à partir de la racine) :

include $_SERVER["DOCUMENT_ROOT"] . "/includes/menu.php";

8. À retenir

  • include insère un fichier, require est plus strict
  • _once empêche les inclusions multiples
  • Une bonne organisation facilite la maintenance du projet
  • Utilisez les dossiers includes/, classes/, etc. pour séparer votre code

9. Exercices proposés

  1. Créer un fichier menu.php et l'inclure dans une page index.php.
  2. Créer une structure avec header.php, footer.php, et main.php.
  3. Tester l'effet de include vs require lorsqu'un fichier est manquant.

10. Ce que vous apprendrez ensuite

Dans le chapitre 21, nous aborderons l'introduction aux bases de données avec MySQL. Vous apprendrez à connecter PHP à une base, exécuter des requêtes SQL et gérer les données dynamiquement.