En ce qui concerne PHP développement en matière de développement Wordpress:
Réponses
Trop de publicités?Il y a require
et include_once
.
Donc, votre question doit être...
- Quand dois-je utiliser
require
vsinclude
? - Quand dois-je utiliser
require_once
vsrequire
La réponse 1 est décrite ici.
La fonction require() est identique à include(), sauf qu'il gère les erreurs différemment. Si une erreur se produit, la fonction d'inclure() génère un avertissement, mais le script va continuer l'exécution. Le require() génère une erreur fatale, et le script s'arrête.
La réponse à 2 peut être trouvé ici.
Le require_once() est identique à exiger() à l'exception de PHP vérifie si le fichier a déjà été inclus, et si oui, comprennent pas (besoin) de nouveau.
Utilisation
besoin
lorsque le fichier est requis par votre application, par exemple, un important modèle de message ou d'un fichier contenant les variables de configuration qui avec et sans l'application de casser.require_once
lorsque le fichier contient un contenu qui produirait une erreur sur inscription ultérieure, par exemplefunction important() { /* important code */}
est certainement nécessaire à votre application mais depuis les fonctions ne peuvent pas être redéclarée ne devrait pas être inclus de nouveau.inclure lorsque le fichier n'est pas nécessaire et le flux d'application devrait continuer lorsqu'il n'est pas trouvé, par exemple
idéal pour les modèles de référencer les variables de l'étendue actuelle ou quelque choseinclude_once
les dépendances optionnelles qui serait de produire des erreurs sur le chargement suivant ou peut-être à distance d'inclusion de fichier que vous ne souhaitez pas arriver deux fois en raison de la HTTP généraux
Mais fondamentalement, c'est à vous, quand à utiliser.
Ma suggestion est d'utiliser require_once
99,9% du temps.
À l'aide de besoin ou d'inclure implique que votre code n'est pas réutilisable ailleurs, c'est à dire que la loi de l'aide d' require
ou include
est en fait l'exécution de code au lieu de mettre à la disposition d'une classe ou d'une fonction bibliothèques. Si vous êtes exigent que/y compris le code qui le fait, c'est le code de procédure, et vous devez apprendre à connaître un nouveau paradigme. Je suggère functional programming
et object oriented programming
, dans cet ordre.
Si vous avez déjà fait de la programmation fonctionnelle ou OO, à l'aide de include_once
est la plupart du temps va être de retarder où dans la pile vous trouvez des bugs/erreurs. Voulez-vous savoir que la fonction do_cool_stuff()
n'est pas disponible lorsque vous allez d'appeler, ou le moment que vous attendez qu'elle soit disponible en exigeant la bibliothèque? En général, vous voulez savoir dès que vous l'avez ajouté, si juste utiliser require_once.
Différence entre _once fonctions et sans _once fonctions: sans _once code sera inclus à nouveau alors qu'avec _once fonctions PHP conserve la trace des fichiers inclus et sera inclus qu'une seule fois.
La différence entre besoin et comprennent: Si un fichier n'est pas trouvé PHP va émettre une erreur fatale alors que, pour inclure uniquement un avertissement sera émis.
include()
va lancer un avertissement si il ne peut pas inclure le fichier, mais le reste du script sera exécuté.
require()
va jeter un E_COMPILE_ERROR
et de stopper le script s'il ne peut pas inclure le fichier.
L' include_once()
et require_once()
fonctions ne seront pas inclure le fichier une seconde fois si elle a déjà été inclus.
Consultez la documentation suivante pages: