Harry: Gültigkeitsbereich Variable

Beitrag lesen

Holladiewaldfee,

Gibt's im PHP keine Möglichkeit, globale Variablen an einer zentralen Stelle zu notieren ? - Oder ist mein Ansatz total falsch?

Jede Funktion hat ihre eigenen Variablen, mit Ausnahme der Super-Globalen-Variablen ($_REQUEST, $_POST usw.). Wenn Du in einer Funktion eine Variable aus dem globalen Scope haben willst, mußt Du sie importieren (global).

Oder Du verwendest in der Funktion das Array $GLOBALS, mit dem Du ebenfalls Zugriff auf die globalen Variablen hast.

Beispiel:

---
$a = "blahr";

function x()
{ echo '1: '.$a.'\n'; }

function y()
{ global $a;
  echo '2: '.$a.'\n'; }

function z()
{ echo '3: '.$GLOBALS['a'].'\n'; }

x();
y();
z();
---

Ausgabe:

---
1:
2: blahr
3: blahr
---

Diese Funkionalität ist sehr sinnvoll, das sieht man vor allem bei größeren Projekten, wenn man irgendwann einfach nicht mehr alle Variablen im Kopf hat oder mehrere Leute an einem Projekt arbeiten. Wenn da jeder frei Schnauze mit globalen Variablen rumspielen würde gäbe es ein heilloses Chaos.

Ciao,

Harry

--
  Herbst ist Wanderzeit!
  http://harry.ilo.de/projekte/berge/