Quelles sont les différences entre les fonctions include, require, include_once et require_once de PHP ?
À première vue, ces quatre fonctions exécutent toutes la même action : inclure dans le code PHP des éléments d'un autre fichier.
Leur emploi est en tout point similaire :
Les principales différences entre include et require se manifestent dans le cas d'une erreur.
Si, pour une raison ou pour une autre le fichier ne peut pas être inclus, la fonction include va produire une erreur de type E_WARNING et continuer l'exécution du code, tandis que la fonction require va produire une erreur E_ERROR et arrêter l'exécution du code.
Et pour les fonctions include_once et require_once ?
Ça fonctionne exactement de la même manière, si ce n'est que le fichier ne sera inclus sera inclus qu'une seule fois même si la commande est lancée à différents endroits dans la page.
Par exemple :
...n'incluera le fichier $file qu'une seule fois, à condition bien sûr que la variable $file ne soit pas changée au cours de l'exécution du script.
Et la performance ?
Niveau performance, la meilleure fonction à utiliser est souvent include qui est moins complexe et nécessite moins d'intervention que les autres.
Vous pouvez utiliser un benchmark pour tester tout ça.
À première vue, ces quatre fonctions exécutent toutes la même action : inclure dans le code PHP des éléments d'un autre fichier.
Leur emploi est en tout point similaire :
include($file);
require($file);
include_once($file);
require_once($file);
Les principales différences entre include et require se manifestent dans le cas d'une erreur.
Si, pour une raison ou pour une autre le fichier ne peut pas être inclus, la fonction include va produire une erreur de type E_WARNING et continuer l'exécution du code, tandis que la fonction require va produire une erreur E_ERROR et arrêter l'exécution du code.
Et pour les fonctions include_once et require_once ?
Ça fonctionne exactement de la même manière, si ce n'est que le fichier ne sera inclus sera inclus qu'une seule fois même si la commande est lancée à différents endroits dans la page.
Par exemple :
include_once($file);
// [...]
require_once($file);
// [...]
include_once($file);
...n'incluera le fichier $file qu'une seule fois, à condition bien sûr que la variable $file ne soit pas changée au cours de l'exécution du script.
Et la performance ?
Niveau performance, la meilleure fonction à utiliser est souvent include qui est moins complexe et nécessite moins d'intervention que les autres.
Vous pouvez utiliser un benchmark pour tester tout ça.