Hallo,
kann es sein, daß man __get und __set nicht statisch verwenden kann?
Ich habe folgenden Code:
PHP-Code:
class Kernel{
private static $classes = array();
public static function __get($class)
{
if (!isset(self::$classes[$class]))
{
$new = new $class();
self::$classes[$class] = &$new;
return $new;
}
else
{
return self::$classes[$class];
}
}
public static function __set($class, &$value)
{
if (!isset(self::$classes[$class]))
{
self::$classes[$class] = $value;
return $value;
}
else
{
return self::$classes[$class];
}
}
}
// Initialisierung
Kernel::$Sql = new Sql(Settings::SQL_DATABASE, Settings::SQL_USER, Settings::SQL_PASSWORD); //Zeile 84
Kernel::$User = new User(Kernel::$Io, Kernel::$Sql);
Es kommt die Meldung:
Code:
Fatal error: Access to undeclared static property: Kernel::$Sql in /home/pierre/public_html/laber-land/develop/index.php on line 84
Verwende ich die Methoden nicht statisch und erzeuge ein Objekt von Kernel, funktioniert das tadellos.
Hat jemand eine Idee hierzu?
Viele Grüße
Pierre
Lesezeichen