PHP global
Programmieren
Basiswissen
Global nennt man eine Variable, die in allen Teilen eines Programms unter dem selben Namen ansprechbar ist, das heißt vor alIem innerhalb und außerhalb von sogenannten Funktionen. Man kann eine Variable außerhalb einer Funktion oder auch sozusagen noch nachträglich innerhalb einer Funktion als global definieren.
Globale Variable innerhalb einer Funktion in PHP nutzen
In vielen Programmiersprachen sind Variablen auch ohne weiteres innerhalb von sogenannten Funktionen nutzbar[1]. Solche Variablen nennt man global, sie gelten sozusagen "weltweit" innerhalb eines Programms. Nicht so in PHP. Dort muss man in jeder Funktion, in der eine Variable global sein soll, dies ausdrücklich festlegen:
$x=4;
# Aufruf der Funktion:
halbiereZahl();
# Definition der Funktion:
function halbiereZahl() {
global $x;
echo $x/2;
} # Ende der Funktion
?>
Hier wird außerhalb der Funktion die Variable $x definiert. Innerhalb des Funktion wird so global gemacht und steht damit unter demselben Namen zur Verfügung. Über den Echo Befehl wird das Ergebnis der Division von $x durch zwei, also die Zahl 2, ausgegeben. ACHTUNG: es ist nicht möglich, die Variable außerhalb der Funktion als global zu deklarieren. Steht die Anweisung 'global $x;' nur außerhalb der Funktion, wird das Programm eine Fehlermeldung erzeugen.
Globale Variable außerhalb einer Funktion in PHP nutzen
Wenn eine Variable innerhalb einer Funktion als global definiert wird, dann steht sie unter demselben Namen später auch außerhalb der Funktion zur Verfügung:
$x=14;
# Aufruf der Funktion:
halbiereZahl();
# Definition der Funktion:
function halbiereZahl() {
global $x;
global $ergebnis;
$ergebnis=$x/2;
} # Ende der Funktion
echo $ergebnis;
?>
Hier wird am Ende von außerhalb der Funktion das Ergebnis, im Beispiel die Zahl 7 ausgegeben. Die in der Funktion global definierte Variable steht im gesamten Hauptprogramm an allen Stellen zur Verfügung.
Eigenschaften globaler Variablen in PHP
- Die Variablen müssen innerhalb einer Funktion als global definiert werden.
- Die Anweisung 'global $x' hätte außerhalb einer Funktion keine Wirkung.
- Globale Variablen stehen innerhalb und außerhalb der definierenden Funktion zur Verfügung.
- Globale Variablen stehen NICHT innerhalb anderer als der definierenden Funktion zur Verfügung.
Fußnoten
- [1] Funktionen sind eine Art Unterprogramm innerhalb eines größeren Programmes, dem Hauptprogramm. Man kann eine Funktion dann vom Hauptprogramm aus immer wieder neu aufrufen. Es ist egal, wo im Programm man die Funktion definiert. Sie ist immer im gesamten Programm erhältlich. Üblich ist es, Funktionen am Ende eines Programmes zu definieren. Siehe auch PHP function ↗
- [2] Eine Variable in PHP hat am Anfang immer ein Dollarzeichen. Siehe dazu auch PHP Variablen ↗
- [2] Eine Variable in PHP hat am Anfang immer ein Dollarzeichen. Siehe dazu auch PHP Variablen ↗