Hallo,
ich hoffe, dass mir hier jemand helfen kann. Es geht um folgende Fehlermeldung:
Meine Struktur ist wie folgt:
Ich habe eine Datei c_instance.php die eine Klasse I enthält, die alle Klassen-Dateien aus dem Ordner /classes aufruft und eine Instanz "in sich" speichert.
Das sieht dann so aus:
Die Klasse I besitzt eine Mehtode gI($class), die die Klasse $class zurückgibt:
in anderen Klassen kann ich nun jede beliebige Klassenmethode über
aufrufen, zB
Mein Problem ist nun, dass mir das lauter Fehler erzeugt, wenn ich die nicht komplett abschalte. Ich weiß aber im Moment nicht, wie ich es eleganter lösen könnte.
Ich würde gerne ein Objekt der Klasse I bilden, das in allen Klassen bekannt ist. Aber mir fällt nicht ein, wie ich das machen könnte, ohne es global zu lösen. Oder ist eine Lösung à la $GLOBAL noch elegant?
Liebe Grüße
ich hoffe, dass mir hier jemand helfen kann. Es geht um folgende Fehlermeldung:
PHP:
Strict Standards: Non-static method I::gI() should not be called statically, assuming $this from incompatible context in /Applications/XAMPP/xamppfiles/htdocs/root/project/c_kernel.php on line 49
Meine Struktur ist wie folgt:
Ich habe eine Datei c_instance.php die eine Klasse I enthält, die alle Klassen-Dateien aus dem Ordner /classes aufruft und eine Instanz "in sich" speichert.
Das sieht dann so aus:
PHP:
if (!isset(self::$instances[$instance])) {
include ('./classes/' . $file);
self::$instances[$instance] = new $instance;
++self::$classes;
}
Die Klasse I besitzt eine Mehtode gI($class), die die Klasse $class zurückgibt:
PHP:
PUBLIC function gI($instance) {
return self :: $instances[$instance];
}
in anderen Klassen kann ich nun jede beliebige Klassenmethode über
PHP:
I :: gI('Klasse')->Methode();
PHP:
I :: gI('Format')->textFormat('Hallo Welt', 'standard_format');
Mein Problem ist nun, dass mir das lauter Fehler erzeugt, wenn ich die nicht komplett abschalte. Ich weiß aber im Moment nicht, wie ich es eleganter lösen könnte.
Ich würde gerne ein Objekt der Klasse I bilden, das in allen Klassen bekannt ist. Aber mir fällt nicht ein, wie ich das machen könnte, ohne es global zu lösen. Oder ist eine Lösung à la $GLOBAL noch elegant?
Liebe Grüße