Partie 10 — Organisation du code : include, require, structure propre
Lorsque l’on débute en PHP, il est très courant d’écrire tout le code dans un seul fichier. Cela fonctionne au début, mais très rapidement, le projet devient :
- Difficile à lire
- Difficile à maintenir
- Source d’erreurs
- Impossible à faire évoluer
Dans les projets professionnels, l’organisation du code est aussi importante que le code lui-même.
Dans cette partie, vous allez apprendre :
- Pourquoi organiser le code PHP
- Comment utiliser include et require
- La différence entre include et require
- Comment structurer un projet proprement
- Des exemples réels utilisés en production
1. Pourquoi organiser son code PHP ?
Un code non organisé fonctionne parfois, mais il pose rapidement de gros problèmes.
Exemple d’un fichier mal structuré :
<?php // connexion base de données // HTML // formulaire // traitement formulaire // affichage utilisateur // menu // footer ?>
Ce type de fichier devient vite :
- Illisible
- Difficile à corriger
- Risque élevé de bugs
Organiser le code permet :
- De séparer les responsabilités
- De réutiliser des parties du site
- De travailler en équipe
- D’améliorer la sécurité
2. Le principe fondamental : un fichier = un rôle
Une règle simple utilisée par les professionnels :
👉 Un fichier PHP doit avoir une seule responsabilité
Exemples :
- Un fichier pour l’en-tête (header)
- Un fichier pour le pied de page (footer)
- Un fichier pour la connexion à la base de données
- Un fichier pour les fonctions
Ces fichiers seront ensuite inclus là où on en a besoin.
3. include : inclure un fichier PHP
La fonction include permet d’inclure le contenu d’un fichier PHP dans un autre fichier.
Syntaxe
include 'fichier.php';
Exemple réel : header et footer
Fichier header.php :
<header> <h1>Mon site</h1> </header>
Fichier index.php :
<?php include 'header.php'; ?> <main> <p>Contenu principal</p> </main> <?php include 'footer.php'; ?>
👉 Le code est plus propre et réutilisable.
4. require : inclusion obligatoire
require fonctionne comme include, mais avec une différence majeure :
- include → avertissement si erreur
- require → erreur fatale si erreur
Syntaxe
require 'fichier.php';
Quand utiliser require ?
Utilisez require pour les fichiers indispensables :
- Connexion base de données
- Fonctions principales
- Configuration
Si ces fichiers manquent, le site ne doit pas fonctionner.
5. include_once et require_once
Il existe aussi :
include_oncerequire_once
Ces versions empêchent l’inclusion multiple du même fichier.
Exemple réel
require_once 'config.php'; require_once 'config.php'; // ignoré
👉 Évite les erreurs de redéclaration de fonctions.
6. Structure de projet PHP propre (exemple réel)
Voici une structure simple et professionnelle :
mon-projet/ ├── index.php ├── config/ │ └── database.php ├── includes/ │ ├── header.php │ ├── footer.php │ └── menu.php ├── functions/ │ └── helpers.php ├── assets/ │ ├── css/ │ ├── js/ │ └── images/
👉 Cette structure est utilisée dans de nombreux projets professionnels.
7. Exemple réel : fichier de configuration
Fichier config/database.php :
<?php $db_host = "localhost"; $db_name = "site"; $db_user = "root"; $db_pass = ""; ?>
Inclusion dans le projet :
<?php require_once 'config/database.php'; ?>
8. Bonnes pratiques professionnelles
- Utiliser require pour les fichiers critiques
- Utiliser include pour les parties visuelles
- Utiliser require_once pour les fonctions
- Nommer les fichiers clairement
- Créer des dossiers logiques
9. Erreurs fréquentes des débutants
- Chemins relatifs incorrects
- Inclure le même fichier plusieurs fois
- Mélanger HTML et logique partout
- Tout mettre dans index.php
10. Mini-exercices pratiques
- Créer un header et footer séparés
- Créer un fichier de configuration
- Inclure les fichiers avec require_once
- Organiser un petit projet PHP
Conclusion
Une bonne organisation du code est une marque de professionnalisme.
Grâce à include, require et une structure claire, votre projet devient :
- Lisible
- Maintenable
- Évolutif
Dans la prochaine partie, nous verrons comment interagir avec l’utilisateur grâce aux formulaires PHP (GET & POST).