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
include
inclut 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,
include
vérifiera dans le dossier du script appelant et dans le dossier de travail courant avant d’échouer. - L’instruction
include
enverra 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.php
donne 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 sirequire
a 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.php
donne 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, sirequire
a 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à. Include
etrequire
sont identiques, sauf en cas d’échec:require
produira une erreur fatale ( E_COMPILE_ERROR ) et arrêter le scriptinclude
produira 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
include
etrequire
et leurs variantesinclude_once
etrequire_once
est qu’on va pouvoirinclure
plusieurs fois un même chier avecinclude
etrequire
tandis qu’en utilisantinclude_once
etrequire_once
cela 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
require
etrequire_once
pour inclure le fichier dans les deux autres.
Avec
include
ouinclude_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
require
ourequire_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é |