Gå til innhold

[Løst]Hvordan sette en variabel global?


Anbefalte innlegg

Hei! Jeg ønsker å sette en variable globalt, på link linje med $_GET, $_POST osv. Slik at den kan nås inni funksjoner uten å måtte bruker global $var eller $GLOBALS['var']. Noen som vet hvordan?

Endret av pulse
Lenke til kommentar
Videoannonse
Annonse

Du bruker global for å hente de inn i funksjoner etc. F.eks.:

$var = 1;
function funksjon()
{
global $var;
$var++;
}
funksjon();
echo $var;

Dog, bruk av globale variabler i funksjoner etc. er litt fy-fy.

Endret av Ernie
Lenke til kommentar
Ehhh ... kanskje en ide å lese posten litt nøyere først :blush: Vel, slik variable scope i PHP er bygget opp er det ikke mulig. Det kan nok ha litt med at globale variabler i funksjoner er fy-fy i og med at det medfører mindre lesbar kode.

Var det jeg var redd for, har googlet og søkt mye, uten å finne noe svar jeg øsnket. Så da sitter jeg igjen med to alternativer:

1. Bruke konstanter istedetfor

2. Sette variablen som en del av arrayet $_SERVER

 

Så da er vel saken egentlig løst.

 

Takker :)

Lenke til kommentar
3. Eller revurdere hele systemet.

Tja.. Har du gode forslag?

 

Her er saken: Jeg bruker en htaccess for å redirecte alle requests mot en index fil.

 

La oss si adressen er http://mittdomene.no/~brukernavn/side/

 

Jeg trenger denne adressen for å f.eks legge til css/default.css

 

Jeg ønsker ikke å hardkode den på noen måte da jeg skal kunne kopiere alle filer enkelt og greit andre steder.

 

Så jeg ønsker å ha denne tilgjengelig på lik måte overalt sånn at det er lettere å kopiere kode fra ett sted til ett annet, inn og ut av funksjoner, klasser osv.... Denne verdien er jo konstant for hele scriptet, alltid. Hvorfor burde det revurderes? Er det ikke slikt konstanter er til for?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...