Funktion und Wertebereich von Variablen
Hallo,
ich möchte einer Funktion den Zugriff auf *sämtliche* Variablen
der aufrufenden Datei gewähren.
Mit global $var1, $var2, $var3;
komme ich nicht weiter, es sind so 150 Variablen.
Laut PHP-Handbuch steht bei include(), dass man die Variablen einer
aufgerufenen Datei in der aufrufenden Datei benutzen kann. ich
brauche es aber umgekehrt.
Wie gehe ich vor?
Die Funktion kann in der aufrufenden Datei selbst stehen, wenn es hilft.
Danke und Gruß
Andreas
--
http://www.liegerad-fernweh.de
E-Mail nur an die Antwortadresse und mit "Usenet" im Betreff
Re: Funktion und Wertebereich von Variablen
Andreas Randolf schrieb:
> ich möchte einer Funktion den Zugriff auf *sämtliche* Variablen
> der aufrufenden Datei gewähren.
>
> Laut PHP-Handbuch steht bei include(), dass man die Variablen einer
> aufgerufenen Datei in der aufrufenden Datei benutzen kann. ich
> brauche es aber umgekehrt.
Umgekehrt trifft das genauso zu. Das "Hauptscript" und die eingebundenen =
Scripte ergeben ein ganzes Script. So als würde im "Hauptscript" anstat=
t der
Zeile "include 'foo.php';", der komplette Code der Datei "foo.php" stehen=
=2E
Auf Variablen kann man ansonsten natürlich erst zugreifen, nachdem sie =
definiert wurden: Also erst die Variable definieren, und dann erst die
Funktion in der Includedatei, welche diese Variable benutzt, aufrufen. (d=
en
Variablenscope beachten).
Gruß
Carsten
Re: Funktion und Wertebereich von Variablen
Hallo,
> Umgekehrt trifft das genauso zu. Das "Hauptscript" und die eingebundenen
> Scripte ergeben ein ganzes Script. So als würde im "Hauptscript" anstatt
der
> Zeile "include 'foo.php';", der komplette Code der Datei "foo.php" stehen.
Ja.
Das "Problem" ist nicht der include-Befehl, sondern function. Ob die
Funktion in der aufrufenden Datei steht oder in einer inkludierten
ist ziemlich egal. An die Variablen außerhalb der Funktion kommt
man nicht ohne weiteres. Aber mit $GLOBALS hat es jetzt geklappt!
Eine Frage nur: Erzeugen $GLOBALS/global eine Kopie der Variablen
oder eine (speichersparende) Referenz?
--
Gruß, Andreas
http://www.liegerad-fernweh.de
E-Mail nur an die Antwortadresse und mit "Usenet" im Betreff