"-Martin-" <martin_aarhof(AT)hotmail.com> skrev i en meddelelse
news:q1f70voqg5ou7jrod253egfeq9o87i1pse@4ax.com...
> On Sat, 21 Dec 2002 01:39:07 +0100, "Allan E" <ege@per_fjern_son.dk>
> wrote:
>
> >"-Martin-" <martin_aarhof(AT)hotmail.com> wrote in message
> >news:fpa70vk755iedrsq69eoek7et6r7aco1e8@4ax.com...
> >> Jeg har en masse variabler på i en php fil
> >> De variabler vil jeg så gerne have ind i mine funktioner UDEN brug af
> >> globals, kan det overhovedet lade sig gøre?
> >> Eller er der en anden måde jeg skal gribe an på ?
> >
> >Nu er det jo netop det vi har globals til, men du kunne evt, i stedet for
at
> >have et hav af selvstændige variable lave et array, med alle variable i,
og
> >så gøre det globalt.
> >Blot et forslag...
> >
> >Fx
> >$lang['language'] = "Dansk";
> >$lang['showall'] = "Vis alle";
> >
> >function Common_header($side) {
> > global $lang;
> > print $lang['language'];
> >}
>
> Åhhh ja... det havde jeg da slet ikk tænkt på
> Det var en god idé..
> Takker
Nu så jeg lige spørgsmålet og ville nævne references.
http://www.php.net/manual/en/language.references.php
Pointen er at du ikke smider hele variablen, og dermed alt dens data, ind i
funktionen men kun en reference.
Lidt ligesom pointers hvor man kyler ram-adressen i hovedet på funktionen.
Det virker lidt på samme måde som hvis du erklærer variablen global.
Specifik brug i funktioner:
http://www.php.net/manual/en/language.references.pass.php
Alternativt har nyere udgaver af PHP (>=4.1.0 et array der hedder $GLOBALS
Det er et super globalt array der indeholder alle variable.
At det er superglobalt betyder at du kan bruge det inden i funktioner uden
først at erklære det for globalt eller sende det som parameter til
funktionen.
eks.:
$hej = 'hans':
function test()
{
return $GLOBALS['hej']
}
echo test();
Derved slipper du for selv at smide alle dine variable i er array du
erklærer globalt, det har PHP allerede gjort for dig:)
http://www.php.net/manual/en/reserved.variables.php#reserved.variables.globa
ls
http://www.php.net/manual/en/language.variables.predefined.php#language.vari
ables.superglobals
--
------> END <------
Mikkel Magnus Christensen
barefoot@jaha.dk,
www.startfirma.dk, www.starthotel.dk, www.i-know.dk
------> END <------