Inclure des fichiers dans un autre en PHP
Inclure des fichiers dans un autre en PHP
-
Objectifs
- Etre capable d’inclure des fichiers dans un autre en PHP avec include, require,include_once et require_once
-
Présentation
- Dans ce tutoriel nous allons étudier les instructions PHP include, require, include_once et require_once.
- Les fonctions include, require, include_once et require_once prennent un seul paramètre de type chaîne de caractères. C’est le chemin qui mène au fichier à importer. Le chemin est par défaut relatif par rapport au répertoire dans lequel se trouve le script
-
L’instruction include
- L’instruction
includeinclut et exécute le fichier spécifié en argument. - Inclut le contenu d’un autre fichier appelé, mais ne provoque pas d’erreur bloquante s’il est indisponible
- Les fichiers sont inclus suivant le chemin du fichier fourni ; si aucun n’est fourni, l’include_path sera vérifié. Si le fichier n’est pas trouvé dans l’include_path,
includevérifiera dans le dossier du script appelant et dans le dossier de travail courant avant d’échouer. - L’instruction
includeenverra une erreur de type warning si elle ne peut trouver le fichier; ce comportement est différent derequire, qui enverra une erreur de niveau fatal. - L’exécution du fichier
appel.phpdonne le résultat suivant -
include_once
- La commande
include_once()inclut et évalue le fichier spécifié durant l’exécution du script. Le comportement est similaire àinclude(), mais la différence est que si le code a déjà été inclus, il ne le sera pas une seconde fois. - Même chose que
include, mais ne le fait qu’une seule fois en tout et pour tout dans le même document sirequirea déjà été appelé auparavant avec le même nom de fichier -
require
- Inclut le contenu d’un autre fichier appelé, et provoque une erreur bloquante s’il est indisponible
- L’exécution du fichier
appel.phpdonne le résultat suivant -
require_once
- Même chose que
require, mais ne le fait qu’une seule fois en tout et pour tout dans le même document, sirequirea déjà été appelé auparavant avec le même nom de fichier - Exemple:
- Créer deux fichiers PHP variable.php et appel.php
-
Différences
-
Différence entre
include()etrequire() - Dans
include(), le fichier que vous incluez est introuvable alors que l’interpréteur PHP a généré un avertissement et l’exécution se poursuit sans ce fichier. - Dans
require(), le fichier que vous incluez est introuvable car l’interpréteur PHP a généré une erreur fatale et l’exécution s’arrête là. Includeetrequiresont identiques, sauf en cas d’échec:requireproduira une erreur fatale ( E_COMPILE_ERROR ) et arrêter le scriptincludeproduira uniquement un avertissement ( E_WARNING ) et le script continuera-
Différence entre
require_once()etinclude_once() -
require_once()etinclude_once()sont insensibles à la casse sous les systèmes comme Windows. - La différence entre les instructions
includeetrequireet leurs variantesinclude_onceetrequire_onceest qu’on va pouvoirinclureplusieurs fois un même chier avecincludeetrequiretandis qu’en utilisantinclude_onceetrequire_oncecela ne sera pas possible : un même chier ne pourra être inclus qu’une seule fois dans un autre chier. -
Application
- Soit le fichier fonctions.php qui contient une fonction mafonction
- Soit le fichier index.php qui a besoin d’utiliser une fonction déclarée dans notre fonctions.php.
- Le fichier entete.php a lui aussi besoin d’utiliser cette fonction. Chacun s’occupera donc d’inclure fonctions.php.
- Utiliser l’instruction
requireetrequire_oncepour inclure le fichier dans les deux autres.


Avec
includeouinclude_once, si le ficher ne peut pas être inclus, PHP ne générera qu’une alerte de niveau E_WARNING. Le script PHP pourra donc continuer.


Avec
requireourequire_once, si le fichier ne peut pas être inclus, une erreur fatale de niveau E_COMPILE_ERROR sera produite, ce qui mettra fin au script PHP.
<?php
include_once("a.php"); // ceci inclut le fichier a.php
include_once("A.php"); // ceci inclut encore le fichier a.php sous Windows! (uniquement en PHP 4)
?>
| Déclaration | Charger le même fichier | Si le fichier est introuvable |
|---|---|---|
| Include | Oui | Scipt continue |
| Include_once | Non | Scipt continue |
| require | Oui | Script arrêté |
| Require_once | Non | Script arrêté |
