sql >> Database teknologi >  >> RDS >> Mysql

hvordan man bruger funktionen require_once inside

Faktisk, fra et teknisk synspunkt, kan du bruge require_once() inde i en funktion. Det er dog højst sandsynligt en dårlig idé og ikke det, du virkelig vil:

  • inklusive kode inde i en funktion inkluderer bogstaveligt talt koden der. Det betyder, at al inkluderet kode evalueres inden for funktionens omfang. PHP erklærer alle funktioner globale, men variabler og almindelige kodesekvenser er bundet lokalt, så de er ikke synlige uden for den funktion, der udføres lige nu.

  • da du bruger en relativ sti til at indlæse den inkluderede fil, er du begrænset til at udføre din funktion fra et bestemt filsystemniveau. Dette begrænser, hvordan din kode kan bruges...

Selvom dette måske faktisk er, hvad du ønsker, når den inkluderede fil har en lokal konfiguration, vil du næsten helt sikkert snuble over dette:

  • require_once() kræver kun én gang, det er det, funktionen er der for. Det betyder:hvis du indtaster din funktion getTierOne() mere end en enkelt gang derefter for hver efterfølgende kørsel require_once() simpelthen ikke inkludere enhver kode, da den allerede har i første kørsel. Så om du får din konfiguration inkluderet eller ej afhænger af! Det er et forfærdeligt design!

Så inkluder enten din konfiguration globalt og for eksempel gem den i en eller anden variabel, som du så kan henvise til i din funktion, eller du bruger require() eller include() for at sikre, at konfigurationen virkelig er inkluderet i hver udførelse af funktionen.



  1. Mysql ydeevne på 6 millioner rækker bord

  2. Udfør udløser lagrede procedurer på SqlFiddle. Mysql

  3. Få alle POST-data og send e-mail

  4. Lagring af stor JSON - binær eller tekst