Maison  >  Article  >  développement back-end  >  Explication détaillée PHP de la différence entre include_once et include

Explication détaillée PHP de la différence entre include_once et include

黄舟
黄舟original
2017-06-25 11:49:472580parcourir

includeSi deux fichiers sont importés avec le même nom de fonction, une erreur de redéfinition se produira. Utilisez include_once pour éviter cette erreur. Généralement, _once est davantage utilisé. La différence entre include et _once doit être déterminée en fonction de la situation réelle. La différence entre

include et require
Lorsque le fichier à inclure n'existe pas, include génère un avertissement (Warning), et le programme suivant l'instruction continuera à s'exécuter ; alors que require provoque une erreur fatale (Erreur fatale), le programme se termine ici.

include_once et require_once
doivent être utilisés lorsque le même fichier peut être inclus plus d'une fois lors de l'exécution du script et que vous souhaitez vous assurer qu'il n'est inclus qu'une seule fois pour éviter la redéfinition de la fonction, réaffectation des variables et autres problèmes.

1.include est chargé lorsqu'il est utilisé. Cette fonction est généralement placée dans la section de traitement de contrôle de processus
2.require est chargée au début. Cette fonction est généralement placée au début. devant le programme PHP
Le suffixe 3._once indique que celui chargé n'est pas chargé

Il y a beaucoup de recherches sur Internet à ce sujet. Il n'y a pas de grande recherche sur include et include_once. La différence est que include ne se soucie pas de vous. Que le fichier ait déjà été importé, il est toujours importé. include_once vérifie si le fichier a déjà été importé. Si c'est le cas, il ne sera plus importé
C'est généralement recommandé. pour utiliser require_once, il est donc recommandé à l'auteur de vérifier include et require. Il existe de nombreuses différences en ligne. En voici deux simples :
Si le fichier introduit par incloude est envoyé de manière incorrecte ou si le fichier n'existe pas, include émettra un avertissement et continuera à exécuter le programme, tandis que require générera une erreur fatale et terminera le programme. L'instruction
require_once() inclut et exécute le fichier spécifié pendant l'exécution du script. Ce comportement est similaire à l'instruction require(), la seule différence est que si le code dans le fichier est déjà inclus, il ne sera pas inclus à nouveau. La fonction de require_once() est presque la même que celle de require(). L'instruction include_once() inclut et exécute le fichier spécifié pendant l'exécution du script. Ce comportement est similaire à l'instruction include(), la seule différence est que si le code du fichier est déjà inclus, il ne le sera pas à nouveau. Comme le nom de cette déclaration l’indique, elle ne sera incluse qu’une seule fois. La fonction de la fonction clude_once() est presque la même que celle de include()
La fonction de require_once est de vérifier si le fichier a déjà été chargé. S'il n'a pas été chargé, chargez-le. ne le chargera plus. Par exemple, si un fichier définit un type, une erreur se produira si le fichier est chargé deux fois. require_once évitera cette erreur

J'utilise include_once depuis que j'ai appris la différence entre include et include_once, pensant que. il ne se charge qu'une seule fois pour éviter le chargement, et il semble que je ne puisse pas déterminer s'il a été chargé à plusieurs reprises. Il s'avère que je me suis trompé depuis le début.

En fait, il y a des avantages. Si le projet est développé par plusieurs personnes, include_once est préférable

séquence d'exécution include_once

Essayez d'analyser le chemin absolu du fichier. , s'il peut être analysé avec succès, vérifiez EG (inclus_files) et revenez s'il existe. S'il n'existe pas, continuez

pour ouvrir le fichier et obtenez le chemin ouvert du fichier (chemin ouvert) <.>

Prendre le chemin ouvert vers EG (inclus_files) pour rechercher, s'il existe, s'il existe, revenir, s'il n'existe pas, continuer

Compiler le fichier (compile_file

Récemment , nous avons eu plusieurs discussions sur la suppression de apc.include_once_override, et cet élément de configuration APC va et vient. Il n'a pas été bien implémenté.

Ici, je voudrais partager avec vous les raisons de cette suppression. ce problème et quelques inspirations pour nous.

Sur l'opportunité d'utiliser include ou include_once (les éléments suivants incluent tous require_once), cette discussion a été longue et la conclusion a toujours été, c'est-à-dire, essayez d'utiliser include au lieu de include_once. La raison la plus courante dans le passé était que include_once devait interroger la liste des fichiers chargés pour confirmer si elle existe, puis recharger.

Certes, cette raison est correcte, mais de quoi je veux parler. environ aujourd'hui est une autre raison.

Nous savons que PHP détermine si un fichier a été chargé. Vous devez obtenir le chemin ouvert de ce fichier, ce qui signifie, par exemple :

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn