English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel PHP de base

Tutoriel PHP avancé

PHP & MySQL

Manuel de référence PHP

php include et require (inclusion de fichiers)

Dans ce tutoriel, vous apprendrez à inclure et à évaluer des fichiers en PHP.

Inclure un fichier PHP dans un autre fichier PHP

Les instructions include() et require() permettent d'inclure le code d'un fichier PHP dans un autre fichier PHP. L'inclusion de fichiers génère le même résultat que de copier le script d'un fichier spécifié et de le coller à l'endroit où il est appelé.

Vous pouvez économiser beaucoup de temps et travailler en incluant des fichiers.-Il suffit de stocker le bloc de code dans un fichier séparé, puis de l'inclure à l'aide des instructions include() et require() à tout endroit où il est nécessaire, sans avoir à taper plusieurs fois tout le bloc de code. Un exemple typique est d'inclure les fichiers d'en-tête, de pied de page et de menu sur toutes les pages du site web.

La syntaxe de base des instructions include() et require() peut être donnée de la manière suivante :

include("path/to/filename"); 
Ou
include "path/to/filename";
require("path/to/filename"); 
Ou
require "path/to/filename";

Astuce :Comme pour les instructions print et echo, vous pouvez omettre les parenthèses lors de l'utilisation des instructions include et require, comme mentionné précédemment.

Les exemples suivants vous montreront comment inclure respectivement les codes d'en-tête, de pied de page et de menu stockés dans des fichiers séparés "header.php", "footer.php" et "menu.php" sur toutes les pages du site web. En utilisant cette technique, il suffit de modifier un fichier pour mettre à jour immédiatement toutes les pages du site, ce qui économise beaucoup de travail répétitif.

<!DOCTYPE html>
<html>
<head>
    <title>Base Tutorial</title>
</head>
<?php include "header.php"; ?>
<?php include "menu.php"; ?>
    <h1>Bienvenue sur notre site web (www.3codebox.com)!</h1>
    <p>Vous trouverez ici beaucoup d'informations utiles.</p>
<?php include "footer.php"; ?>
</html>

Les différences entre les instructions include et require

Vous pourriez penser que si nous pouvons utiliser l'instruction include() pour inclure des fichiers, pourquoi avons-nous besoin de require(). Souvent, l'instruction require() fonctionne de la même manière que include().

La seule différence est que l'instruction include() génère un avertissement PHP, mais si le fichier à inclure n'est pas trouvé, le script continue d'exécuter, tandis que l'instruction require() génère une erreur fatale et arrête l'exécution du script .

<?php require "my_variables.php"; ?>
<?php require "my_functions.php"; ?>
<!DOCTYPE html>
<html>
<head>
    <title><?php displayTitle($home_page); ?></title>
</head>
<?php include "header.php"; ?>
<?php include "menu.php"; ?>
    <h1>Bienvenue sur notre site web (www.3codebox.com)!</h1>
    <p>Vous trouverez ici beaucoup d'informations utiles.</p>
<?php include "footer.php"; ?>
</html>

Attention : si vous incluez des fichiers de bibliothèque ou des fichiers contenant les fonctions et les variables de configuration nécessaires à l'exécution de l'application (commeFichier de configuration de base de données),il est recommandé d'utiliser l'instruction require().

Instructions include_once et require_once

Si vous utilisez accidentellement plusieurs fois des instructions include ou require pour inclure le même fichier (généralementFonctionOuClasseFichier) , ce qui pourrait entraîner des conflits. Pour éviter cela, PHP fournit les instructions include_once et require_once. Ces instructions fonctionnent de la même manière que les instructions include et require, avec une exception :
Même si ce fichier est inclus à nouveau, les instructions include_once et require_once ne comprendront ce fichier qu'une seule fois. Autrement dit, si le fichier spécifié a été inclus dans une instruction précédente, il ne sera pas inclus à nouveau. Pour mieux comprendre comment cela fonctionne, regardons un exemple. Supposons que nous ayons un fichier 'my_functions.php', whose code is as follows:

<?php
function multiplySelf($var){
    $var *= $var; //Multiplier la variable elle-même
    echo $var;
}
?>

C'est un script PHP qui contient le fichier 'my_functions.php'.

<?php
//Inclure le fichier
require "my_functions.php";
// Appel de la fonction
multiplySelf(2); // Sortie : 4
echo "<br>";
 
//Inclure à nouveau ce fichier
require "my_functions.php";
// Appel de la fonction
multiplySelf(5); // Ne s'exécute pas
?>

Lorsque vous exécutez le script ci-dessus, vous verrez un message d'erreur similaire au suivant :“Erreur fatale : Ne peut pas redéclarer multiplySelf()”La raison pour laquelle cela se produit est que 'my_functions.php' a été inclus deux fois, ce qui signifie que la fonction multiplySelf() a été définie deux fois. Cela cause PHP à arrêter l'exécution du script et à générer une erreur fatale. Maintenant, rewritez l'exemple ci-dessus avec require_once.

<?php
// Inclure fichier
require_once "my_functions.php";
// Appel de la fonction
multiplySelf(2); // Sortie : 4
echo "<br>";
 
//Inclure à nouveau ce fichier
require_once "my_functions.php";
// Appel de la fonction
multiplySelf(5); // Sortie : 25
?>

Comme vous le voyez, en utilisant require_once à la place de require, le script fonctionne comme prévu.