FAQ |
Kalender |
2007-09-13, 13:06 | #1 | ||
|
|||
Medlem
|
Hej!
Jag har en fil innehållande olika variablar som används lite här och där. Jag måste includera den varje gång en sida laddas men också en funktion. Om jag då använder "include" laddas filen in varje gång en funktion eller sida inkluderar den men om jag använder include_once kommer filen att laddas en enda gång? Borde vara snabbare? Mvh, Boris |
||
Svara med citat |
2007-09-13, 13:28 | #2 | ||
|
|||
Medlem
|
|||
Svara med citat |
2007-09-13, 13:35 | #3 | ||
|
|||
Medlem
|
Det är ganska solklart men då jag fick lite fel pga ändring till include_once undrade jag om jag verkligen har de förstått allt.
Alltså Huvudsida include_once(functions.php) include_once(globals.php) |-en funktion i fuctions.php kräver också globals.php Kör jag med include_once kommer systemet se att filen redan är inkluderat tidigare och därför inte inkluderas igen. Kör jag däremot "include" kommer filen att inkluderas varje gång jag använder mig av en funktion som inkluderar en fil? Har jag rätt? mvh, Boris |
||
Svara med citat |
2007-09-13, 13:44 | #4 | ||
|
|||
Medlem
|
include_once borde helt enkelt vara att föredra.
Kör jag alltid med include_once kommer alla filer som behöver inkluderas att inkluderas men bara en gång. |
||
Svara med citat |
2007-09-13, 14:19 | #5 | ||
|
|||
Medlem
|
Hur hantera include filer i funktioner
Om jag includerar en fil i funktioner, tas den bort när funktionen har kört klart? Händer det er att ni behöver inkludera filer i funktioner? Mvh, Boris |
||
Svara med citat |
2007-09-13, 14:23 | #6 | ||
|
|||
Flitig postare
|
Inte i funktioner, men i klasser vid vissa tillfällen. Jag använder mycket globala variablar i mina applikationer. Jag tycker det är en bättre lösning.
|
||
Svara med citat |
2007-09-13, 14:34 | #7 | ||
|
|||
Klarade millennium-buggen
|
När du kör en include så växlar du in på den filen och exekverar de kommandon som eventuellt finns där. När det är klart fortsätter exekverandet i den anropande filen med de variabler som fanns tillgänliga vid början av inkluderingen. Variabler som definieras och åsätts värden under inkluderingen glöms bort. Det finns en möjlighet att ta vara på resultat genom att anropa return i slutet och då returnerar den inkluderade filen ett värde, som du kan använda på ett liknande sätt när en funktion returnerar ett värde.
Fast du kanske använder includen till att deklarera klasser och funktioner och dessa blir då tillgängliga globalt. Inuti en funktion så ärver den inkluderade filen de variabler som finns tillgängliga inuti funktionen. |
||
Svara med citat |
2007-09-14, 09:38 | #8 | ||
|
|||
Medlem
|
Alltså
1. Inkluderar jag en fil med en massa variablar så får jag tillgång till dem alla om jag har en variable $test = getIp(); Då får jag tillgång till variablen och funktionen getIp() exekveras? 2. Inkluderar jag en fil med en massa funktioner så exekveras ingenting förrän jag anropar en funktion. Mvh, Boris |
||
Svara med citat |
2007-09-14, 14:43 | #9 | ||
|
|||
Medlem
|
En förhoppningsvis sista fråga angående detta
Huvudfilen inkluderar följande filer include('include/functions.php'); include("include/globals.php"); kör sen en funktion från functions som också behöver globals.php include("include/globals.php"); - funkar include_once("include/globals.php"); - funkar inte Den känner av att filen globals.php redan är laddad men den har inte tillgång till variablarna ? Är det så det ska vara? Ska jag alltid då köra include för funktioner? Mvh, Boris |
||
Svara med citat |
2007-09-14, 15:34 | #10 | ||
|
|||
Flitig postare
|
Har register globals on i php.ini så skriver du global $variabelnamnet direkt efter function namnpåfunktion()
|
||
Svara med citat |
Svara |
|
|