Eigenlijk, vanuit technisch oogpunt, kunt u require_once()
. gebruiken binnen een functie. Het is echter hoogstwaarschijnlijk een slecht idee en niet wat je echt wilt doen:
-
inclusief code in een functie omvat letterlijk de code daar. Dit betekent dat alle opgenomen code wordt geëvalueerd binnen het bereik van de functie. PHP declareert alle functies globaal, maar variabelen en gewone codereeksen zijn lokaal gebonden, dus niet zichtbaar buiten de functie die nu wordt uitgevoerd.
-
aangezien u een relatief pad gebruikt om het opgenomen bestand te laden, bent u beperkt tot het uitvoeren van uw functie vanuit een bepaald bestandssysteemniveau. Dit beperkt hoe uw code kan worden gebruikt...
Hoewel dit misschien is wat je wilt als het meegeleverde bestand een lokale configuratie bevat, zul je hier vrijwel zeker over struikelen:
require_once()
slechts één keer nodig, daar is de functie voor. Dit betekent:als u uw functiegetTierOne()
. invoert meer dan één keer dan voor elke volgende run derequire_once()
gewoon niet neem elke code op, aangezien deze al in de eerste run is uitgevoerd. Dus of u uw configuratie wel of niet krijgt, hangt ervan af! Dat is een afschuwelijk ontwerp!
Neem dus ofwel uw configuratie globaal op en sla deze bijvoorbeeld op in een variabele waarnaar u vervolgens in uw functie kunt verwijzen, of u gebruikt require()
of include()
om ervoor te zorgen dat de configuratie echt wordt opgenomen in elke uitvoering van de functie.