web-dev-qa-db-fra.com

include, include_once, require ou require_once?

J'ai le fichier PHP dans lequel j'ai défini les variables d'accès au serveur ainsi que les mysql_connect et mysql_select_db, car ces fonctions sont régulièrement utilisées dans presque toutes les pages du backend, alors que j'utilise include() qui fonctionne parfaitement pour moi maintenant, quelle méthode ou fonction suggéreriez-vous et j'aimerais savoir s'il y a un problème si j'utilise include() ou si son utilisation est sûre?

Edit: Gardez à l'esprit que j'utiliserai aussi la variable $_SESSION

29
Ibrahim Azhar Armar

La seule différence entre les deux est que require et son frère require_once génèrent une erreur fatale si le fichier n'est pas trouvé, alors que include et include_once affichent uniquement un avertissement et continuent de charger le reste de la page. Si vous ne voulez pas que PHP tente de charger le reste de votre page sans les informations de base de données (ce que je suppose), utilisez require_once. Il n'est pas nécessaire d'inclure le fichier plus d'une fois. Il n'est donc pas nécessaire d'utiliser la fonction require standard.

41
Sasha Chedygov

Travail fonctionnel: Toutes les fonctions effectuent un travail similaire. Toutes les fonctions incluent et évaluent le fichier spécifique lors de l’exécution du code.

Différence fonctionnelle:

include vs include_once: Il n'y a qu'une seule différence entre include () et include_once (). Si le code d'un fichier a déjà été inclus, il ne sera plus inclus si nous utilisons include_once (). Cela signifie que include_once () n'inclut le fichier qu'une fois à la fois.

include vs require: si include () n'est pas en mesure de trouver un fichier spécifié à l'emplacement, il émettra un avertissement, mais cela n'arrêtera pas l'exécution du script. Pour le même scénario, require () émettra une erreur fatale et arrêtera l'exécution du script.

require vs require_once: Il n'y a qu'une seule différence entre require () et require_once (). Si le code d'un fichier a déjà été inclus, il ne sera plus inclus si nous utilisons require_once (). Il faut que require_once () n'inclue le fichier qu'une fois à la fois.

Pour obtenir des informations détaillées avec des exemples, veuillez consulter ces étonnants articles
(1) http://www.readmyviews.com/include-vs-include-once/
(2) http://www.readmyviews.com/include-vs-require/

22
ReadMyViews Com

Pour les variables de connexion à la base de données, l'utilisation de la fonction require_once () sera préférable . Si la connexion échoue pour une raison quelconque, vous pouvez afficher le message d'échec.

2
Ashay

Si votre page ne fonctionne pas sans connexion à la base de données, require_once sera la seule option correcte (puisque vous ne souhaitez pas charger ces paramètres deux fois, leur chargement une fois devrait suffire). Include essayera de charger votre page même si le fichier de paramètres n'est pas disponible.

1
wimvds

Include L'instruction include () inclut et évalue le fichier spécifié.

Inclure une fois L'instruction include_once () inclut et évalue le fichier spécifié lors de l'exécution du script. Ce comportement est similaire à celui de l'instruction include (), à la différence que si le code d'un fichier a déjà été inclus, il ne sera plus inclus. Comme son nom l'indique, il ne sera inclus qu'une fois.

Require Require () et include () sont identiques à tous les égards sauf la façon dont ils gèrent les échecs. Ils produisent tous les deux un avertissement, mais require () entraîne une erreur fatale. En d’autres termes, n’hésitez pas à utiliser require () si vous voulez qu’un fichier manquant arrête le traitement de la page.

Require Once L'instruction require_once () inclut et évalue le fichier spécifié lors de l'exécution du script. Ce comportement est similaire à celui de l'instruction require (), à la différence que si le code d'un fichier a déjà été inclus, il ne sera plus inclus.

0
Affan