La commande require_once() se remplace elle-même
par le fichier spécifié, un peu comme les commandes de
préprocesseur C #include, et ressemble sur
ce point à require(). La principale
différence est qu'avec require_once(),
vous êtes assurés que ce code ne sera ajouté
qu'une seule fois, évitant de ce fait les redéfinitions de
variables ou de fonctions, génératrices d'alertes.
require_once() doit être utilisée dans les cas
où le même fichier risque d'être inclus et évalué plusieurs fois
durant l'exécution d'un script. Vous serez alors sûrs qu'il ne sera inclus qu'une fois
et vous éviterez les problèmes de re-déclarations de fonctions ou autres.
Pour des exemples avec require_once() et
include_once(), reportez-vous au code
PEAR inclus dans les
dernières distributions PHP.
Les valeurs retournées sont les mêmes que lors de l'utilisation de
include(). Si le fichier a déjà été inclus, cette fonction
retourne TRUE.
Note :
Attention, require_once() et
include_once() sont insensibles à la casse
sous les systèmes comme Windows.
Exemple 16-39. require_once() est insensible à la casse sur Windows
require_once("a.php"); // ceci inclut le fichier a.php require_once("A.php"); // ceci inclut encore le fichier a.php sous Windows! (uniquement en PHP 4)
|
|
Ce comportement a changé en PHP 5 - le chemin est normalisé d'abord, donc,
le fichier C:\PROGRA~1\A.php est reconnu
comme étant identique au fichier
C:\Program Files\a.php et le fichier ne sera
requis qu'une seule fois.
| Avertissement |
Les versions Windows de
PHP antérieureus à la version 4.3.0 ne supportent pas l'accès aux fichiers
distants avec cette fonction, même si
allow_url_fopen est activé. |
Voir aussi
require(),
include(),
include_once(),
get_required_files(),
get_included_files(),
readfile() et
virtual().