Aller au contenu principal

include et require

Schéma

Petite vérification​

Avant de commencer, vérifiez si vous savez...

  1. sans exécuter le code, prédire ce qu'affiche cette page, sachant qu'elle a reçu le formulaire suivant en méthode POST avec le champ password valant secret :
    if ($_SERVER['REQUEST_METHOD'] === 'GET') {
    print("GET");
    } elseif ($_SERVER['REQUEST_METHOD'] === 'POST') {
    print("POST reçu");
    }
  2. citer la variable superglobale PHP qui permet de récupérer une valeur envoyée par un formulaire utilisant la méthode GET, et celle utilisée pour la méthode POST
  3. expliquer en une phrase pourquoi la méthode POST est préférable à GET pour envoyer un mot de passe
📌 Réponse attendue

Notions théoriques​

En PHP, include et require sont deux instructions qui permettent d'inclure le contenu d'un autre fichier dans le fichier courant. Elles sont très utiles pour réutiliser le même code dans plusieurs scripts.

La différence principale entre include et require se situe dans leur comportement en cas d'erreur.

Si le fichier à inclure n'est pas trouvé :

  • include génère un avertissement (E_WARNING), mais le script continue à s'exécuter.
  • require génère une erreur fatale (E_COMPILE_ERROR) et le script s'arrête.
info

Il existe également include_once et require_once qui fonctionnent comme include et require, mais ils vérifient si le fichier a déjà été inclus, et si c'est le cas, ils ne l'incluent pas une seconde fois.

Exemple pratique​

Supposons que vous ayez un fichier config.php qui contient des paramètres de configuration. Vous pouvez inclure ce fichier dans vos scripts PHP à l'aide de include ou require :

include 'config.php';
// ou
require 'config.php';

Et si vous voulez vous assurer que le fichier n'est inclus qu'une seule fois, vous pouvez utiliser include_once ou require_once :

include_once 'config.php';
// ou
require_once 'config.php';

Test de mémorisation/compréhension​


Quelle est la différence entre include et require en PHP ?


Que font include_once et require_once ?


Quand utiliseriez-vous include plutôt que require ?


Quand utiliseriez-vous require plutôt que include ?



TP pour réfléchir et résoudre des problèmes​

Dans ce TP, vous allez créer un fichier de configuration et l'inclure dans vos scripts PHP. Vous allez utiliser require_once pour inclure votre fichier de configuration.

  1. Dans votre répertoire "Documents" créez le répertoire tp_config.

  2. Créez un fichier config.php et définissez les paramètres de connexion à une base de données).

  3. Dans ce répertoire créez le fichier main.php et incluez votre fichier de configuration à l'aide de require_once.

  4. Dans votre fichier main.php affichez les variables de configuration, avec la fonction print().


Bonne pratique - include vs require

Utiliser require_once pour les fichiers indispensables au fonctionnement du script (configuration, classes) : si le fichier est absent, l'arrêt immédiat du script est préférable à une exécution partielle. Réserver include aux fichiers optionnels comme des templates ou des widgets de page.

📌 Une solution