Sönke Tesch: global => mehrfaches include() nicht mehr nötig?

Beitrag lesen

Es werden pro Funktion immer nur einige Variablen benötigt, jedoch weiß man vor der Ausführung nicht, welche.

Deswegen binde ich bei jeder Funktion "inc.php" mit ein.
Jedoch ist das doch umständlich, weil eben nicht alles auis "inc.php" benötigt wird.

Könnte ich nicht einfach in "inc.php" alle Variablen mit "global $variable" definieren und "inc.php" EINMAL am Anfang von "index.php" einbinden?

Nein. Wenn Du momentan tatsächlich folgendes machst..

function bla()
    {
     include("inc.php");
     blabla();
    }

..dann wird Dir global alles lahmlegen. So wie im Beispiel oben legst Du nämlich lokale Variablen an, d.h. Variablen, die nur innerhalb der Funktion existieren. global hingegen erweitert den Gültigkeitsbereich einer Variable auf den gesamten Programmcode. Der Unterschied ist, daß damit die Variablen nicht mehr bei jedem Funktionsaufruf neu initialisiert werden, sondern die Werte von alten, möglicherweise ganz anderen Funktionsaufrufen behalten.

Gruß,
  soenk.e