Quelqu'un pourrait-il m'expliquer s'il vous plaît lorsque vous devez utiliser le Je suis nouveau à PHP et j'aimerais comprendre que ce sont des conditions de laymans. Pas trop clair avec ce qui a été mentionné sur la documentation PHP à php.net . P>
laissez-nous dire que j'ai la structure de dossier suivante p>
-> racine -> API -> user.php p>
-> racine -> utilisateurs -> CreateUser.php p>
blockQuote>
Si je dois utiliser le et s'il y a un autre fichier sous p>
-> racine -> API -> Utilitaire -> ImageProcessor.php P>
blockQuote>
Comment devrais-je être compris inclure code> et
include_once code> et comment l'utiliser doit-il l'utiliser. P>
user.php code> dans
catenerUser.php code> Comment dois-je le faire? P>
imageprocessor.php code> avec
createUser.php code> p>
5 Réponses :
Si vous êtes toujours Disons que vous avez ces fichiers: p>
Lorsque vous exécutez Il est livré avec un petit coût de performance, cependant, si vous n'êtes pas Facebook ou que ce n'est pas un coût important. P> Inclure_once CODE> Tout ira bien. Il empêche l'incluant le même fichier deux fois. P>
C code>:
inclure b; inclure A; code> p>
B code>:
comprend un; code> p>
A code>:
echo "bonjour"; code> p>
C code>,
A code> sera inclus deux fois (la plupart probablement une situation indésirable), donc si vous utilisez toutes comme
include_once code > Il sera appelé qu'une seule fois. P>
Cela semble répondre parfaitement aux questions, mais je voulais noter que @allisonc signifie qu'il s'agit probablement d'un lieu d'exigence / _Alce plutôt que d'inclure / _once. Bien sûr, l'exigence a une surcharge supplémentaire à inclure, mais elle ne sera probablement pas significative pour vous.
Je pensais que cela nécessite était un alias d'inclure.
Exécutez effectivement une erreur fatale si le fichier n'est pas trouvé alors que l'inclure enverra un avertissement.
in S'il est nécessaire de vous assurer que ces fichiers sont inclus, vous devez utiliser CreateUser.php code>:
requir_once code> . p> p>
Est-ce que le / avant l'API fait toujours référence à l'inclusion?
Il fait référence au répertoire racine
On dirait parfait pour moi ... mais je vois des cours d'assistance écrits pour améliorer la performance d'incluse_once. Cela améliorera-t-il vraiment les performances. Artima.com/forums/flat.jsp?forum=271&thread=99835 < / a>
Je viens de faire un petit test, utilisé include_once () et requis_once () par rapport à cette fonction d'emballage. Les fonctions intégrées gagnées de 5 à 10%. Je suppose que c'était différent en 2005. N'a pas programmée dans PHP alors alors ne peut pas le dire.
Question rapide, quelle est la différence d'utilisation include_once "fichier.php" et include_once ("fichier.php")
Utilisez suppose p>
Parce que le modèle a besoin de connexion de base de données, A et B les deux Inclure_once Code> Lorsqu'il y a une exigence implicitement imbriquée (un meilleur terme?) impliqué. Je veux dire quelque chose comme ça: p>
comprend code> C. Un département est constitué d'employés qui y travaillent, donc un
inclut code> B. avec
Incluse_once Code>, le module de base de données ne serait inclus qu'une seule fois, donc il n'y aura pas d'erreur de déclaration en double. p>
inclure code> est pour quelque chose de plus général comme un modèle de sortie (peut-être échographier nom d'utilisateur actif) qui est intentionnellement conçu pour apparaître plusieurs fois. P>
Je vais utiliser des exemples simples, un pour la situation lorsque Disons que vous avez des fichiers second cas. Supposons que vous souhaitiez Dans ce cas, inclure () code> est meilleur, un lorsque
include_once () code> est meilleur.
a.php code> et
b.php code>. Chacun d'entre eux "inclut"
bibliothèque.php code> qui contient la fonction
foo () code>.
Maintenant, si vous essayez de
inclure code> code> a.php code> et
b.php code> dans un autre fichier,
index.php code> , Par exemple, vous pouvez obtenir une erreur disant que
foo () code> était déjà déclaré. Ce qui signifie
include_once () code> est mieux adapté dans cette situation. Vous éviterez de définir la même fonction deux fois. P>
inclure code>
fichier.php code> chaque fois que votre boucle fonctionne.
Contenu de
fichier.php code> pourrait être une simple sortie HTML simple. P>
fichier.php code>: p>
index.php code>: p>
inclure () code> est meilleur car il inclura le fichier Chaque fois que la boucle fonctionne.
include_once () code> ne fonctionnerait que la première fois. p> p>
L'instruction fichiers: p> Voici comment chaque fichier ressemble à: p> Maintenant, si vous essayez d'ouvrir maintenant lorsque j'ouvre include_once () code> inclut et évalue le fichier spécifié lors de l'exécution du script. Il s'agit d'un comportement similaire à celui de l'instruction code> () code>, avec la seule différence étant que si le code d'un fichier a déjà été inclus, il ne sera plus inclus. Comme son nom l'indique, il sera inclus une seule fois. Disons par exemple, j'ai trois fichiers,
fonctions.php code> li>
globals.php code> li>
header.php code> li>
ol>
fonctions.php code>: p>
Globals.php code>: p>
header.php code>: p>
header.php code> Vous obtiendrez une erreur car
globals.php code> inclut
fonction.php code> déjà. Vous obtiendrez une erreur disant que la fonction
foo () code> était déjà déclarée dans
globals.php code>, et j'ai également inclus dans
header.php code> - lequel signifie que j'ai inclus
fonctions.php code> deux fois.
Donc, pour être sûr d'inclure seulement
fonctions.php code> une seule fois, je devrais utiliser la
Inclure_once () code>
fonction code>, donc mon
. .Php code> devrait ressembler à ceci:
header.php code>: p>
header.php code>, je n'aurai plus d'erreur parce que php savoir à
inclure code> le fichier
fonctions.php code> une seule fois
Donc, pour éviter d'obtenir une erreur, il serait simplement sûr d'utiliser
include_once () code> au lieu de
inclure () code> fonction dans votre code PHP. P> p>