sql >> Databasteknik >  >> RDS >> Mysql

hur man använder funktionen require_once inside

Faktiskt, från en teknisk synvinkel, kan du använda require_once() inuti en funktion. Men det är troligen en dålig idé och inte vad du verkligen vill göra:

  • inklusive kod i en funktion innehåller bokstavligen koden där. Detta innebär att all inkluderad kod utvärderas inom funktionens omfång. PHP deklarerar alla funktioner globala, men variabler och vanliga kodsekvenser är bundna lokalt, så de är inte synliga utanför den funktion som körs just nu.

  • eftersom du använder en relativ sökväg för att ladda den inkluderade filen är du begränsad till att utföra din funktion från en viss filsystemsnivå. Detta begränsar hur din kod kan användas...

Även om detta faktiskt kan vara vad du vill ha när den medföljande filen har någon lokal konfiguration kommer du nästan säkert att snubbla över detta:

  • require_once() kräver bara en gång, detta är vad funktionen är till för. Detta betyder:om du anger din funktion getTierOne() mer än en enda gång sedan för varje efterföljande körning require_once() helt enkelt inte inkludera vilken kod som helst, eftersom den redan har gjort det i första körningen. Så om du får din konfiguration inkluderad eller inte beror på! Det är en hemsk design!

Så antingen inkludera din konfiguration globalt och till exempel lagra den i någon variabel som du sedan kan referera till i din funktion eller så använder du require() eller include() för att se till att konfigurationen verkligen ingår i varje körning av funktionen.



  1. ap_proxy_connect_backend inaktiverar arbetare för (127.0.0.1)

  2. Ändra tabell med hjälp av sub select

  3. Ändra tidszonförskjutningen på ett datumtidsförskjutningsvärde i SQL Server (T-SQL)

  4. Hur man partitionerar en tabell med ett LIKE-kriterium i Mysql