Kom ihåg mig?
Home Menu

Menu


include eller include_once

 
Ämnesverktyg Visningsalternativ
Oläst 2007-09-13, 13:06 #1
boromb boromb är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 51
boromb boromb är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 51
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
boromb är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-13, 13:28 #2
MrMike MrMike är inte uppkopplad
Medlem
 
Reg.datum: Feb 2007
Inlägg: 141
MrMike MrMike är inte uppkopplad
Medlem
 
Reg.datum: Feb 2007
Inlägg: 141
Kolla här
http://aspn.activestate.com/ASPN/doc...lude-once.html
MrMike är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-13, 13:35 #3
boromb boromb är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 51
boromb boromb är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 51
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
boromb är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-13, 13:44 #4
boromb boromb är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 51
boromb boromb är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 51
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.
boromb är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-13, 14:19 #5
boromb boromb är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 51
boromb boromb är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 51
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
boromb är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-13, 14:23 #6
HenSod HenSod är inte uppkopplad
Flitig postare
 
Reg.datum: May 2005
Inlägg: 484
HenSod HenSod är inte uppkopplad
Flitig postare
 
Reg.datum: May 2005
Inlägg: 484
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.
HenSod är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-13, 14:34 #7
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
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.
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-14, 09:38 #8
boromb boromb är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 51
boromb boromb är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 51
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
boromb är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-14, 14:43 #9
boromb boromb är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 51
boromb boromb är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 51
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
boromb är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-14, 15:34 #10
HenSod HenSod är inte uppkopplad
Flitig postare
 
Reg.datum: May 2005
Inlägg: 484
HenSod HenSod är inte uppkopplad
Flitig postare
 
Reg.datum: May 2005
Inlägg: 484
Har register globals on i php.ini så skriver du global $variabelnamnet direkt efter function namnpåfunktion()
HenSod är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 11:58.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017