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