In PHP:
require
vs. include
gebruiken?require_once
vs. include_once
gebruiken?Er zijn ook require
en include_once
.
Dus je vraag zou moeten zijn...
require
vs. include
gebruiken?require_once
vs. require
gebruiken?Het antwoord op 1 staat [hier] beschreven (http://www.w3schools.com/php/php_includes.asp).
De require() functie is identiek aan include(), behalve dat het anders omgaat met fouten. Als er een fout optreedt, genereert de include() functie een waarschuwing, maar het script zal doorgaan met uitvoeren. De require() functie genereert een fatale fout, en het script zal stoppen.
Het antwoord op 2 kan gevonden worden hier.
Het require_once() statement is identiek aan require() behalve dat PHP zal controleren of het bestand reeds geïncludeerd is, en indien zo, het niet opnieuw zal includen (require).
Verschil tussen _once functies en zonder _once functies: Zonder _once code zal opnieuw worden geïncludeerd terwijl met _once functies PHP de geïncludeerde bestanden bijhoudt en ze slechts één keer zal includen.
Verschil tussen require en include: Als een vereist bestand niet wordt gevonden zal PHP een fatale fout afgeven terwijl voor include alleen een waarschuwing wordt afgegeven.
Het verschil zit in de fout die de commando's genereren. Met require
is het bestand dat je wilt gebruiken ook echt nodig en genereert dus een E_ERROR
als het niet gevonden wordt.
require()
is identiek aaninclude()
behalve dat het bij falen ook een fataleE_ERROR
level error zal genereren.
include
genereert alleen een E_WARNING
foutmelding als het faalt, wat min of meer stil is.
Gebruik het dus als het bestand nodig is om de overige code te laten werken en je wilt dat het script faalt als het bestand niet beschikbaar is.
Voor *_once()
:
include_once()
kan worden gebruikt in gevallen waarin hetzelfde bestand meer dan eens kan worden geïncludeerd en geëvalueerd tijdens een bepaalde uitvoering van een script, dus in dit geval kan het helpen om problemen te voorkomen, zoals functieherdefinities, variabele waarde hertoewijzingen, enz.
Hetzelfde geldt natuurlijk voor require_once()
.
Verwijzingen: require()
, include_once()