Günther S: PHP OOP Variablengültigkeit

Beitrag lesen

Hallo zusammen,

ich experimentiere gerade ein bisschen mit OOP in PHP rum und bin auf folgendes Problem gestoßen:

  
  
// VORHER (funktioniert):  
  
// index.php  
/* Einbindung von Einstellungen, Konstantendeklarationen, ... */  
  
$test = array(1, 2, 3);  
include(EXTENSIONS_DIR . "test.ext.php");  
  
// test.ext.php  
  
print_r($test); // liefert erwünschtes Ergebnis Array(1, 2, 3)  
  
// NACHHER (funktioniert noch nicht):  
  
  
// index.php  
/* Einbindung von Einstellungen, Konstantendeklarationen, ... */  
include(CLASSES_DIR . "core.class.php");  
  
$test = array(1, 2, 3);  
Core::loadExtension("test.ext.php");  
  
// core.class.php  
  
class Core  
{  
    function loadExtension($name)  
    {  
        include(EXTENSIONS_DIR . $name);  
    }  
}  
  
// test.ext.php  
  
print_r($test);  
// liefert Fehlermeldung:  
//Notice: Undefined variable: test in [...]test.ext.php on line 2  
  

Die Pfade stimmen alle (alle Dateien werden eingebunden, auch core.class.php). Meine Frage ist nun, wieso die Variablen in test.ext.php nicht mehr verfügbar sind bzw. ob man das umgehen kann, ohne "global $test;" zu verwenden (ich habe da noch eine menge weiterer variablen, die möchte ich nicht alle einzeln global verfügbar machen müssen.

Gruß,
Günther