1386 votes

Quand dois-je utiliser require_once vs?

En ce qui concerne PHP développement en matière de développement Wordpress:

  • Quand dois-je utiliser vs ?
  • Quand dois-je utiliser require_once vs besoin?

1599voto

Mef Points 15230

Il y a require et include_once .

Donc, votre question doit être...

  1. Quand dois-je utiliser require vs include?
  2. Quand dois-je utiliser require_once vs require

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.

445voto

Gordon Points 156415

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 exemple function 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 chose

  • include_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.

317voto

Kzqai Points 7484

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.

43voto

Sebastian Points 549

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.

37voto

Polynomial Points 12830

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:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X