Ich vermute stark, dass ich meinen Gesamtcode falsch entwerfe, aber ist es möglich, statische Werte zu erben?Vererbung von statischen Werten
Ich habe eine Basisklasse, BaseModel
, in der ich einen __callStatic
Anruf habe. BaseModel
erstreckt sich in verschiedene Modelltypen, und in jedem habe ich eine public static $type;
mit einem String-Wert, der den Typ notiert. Wenn ich self::$type
im callStatic
Anruf in BaseModel
rufe, bekomme ich null zurück, was nach der Tat sinnvoll ist. Ich bin mir jedoch nicht sicher, wie ich den Typ der Klasse, die den Anruf tätigt, bekommen kann, ohne den Code callStatic
in jede Klasse zu kopieren (bin ich nicht sicher, ob ich magische Methoden in Merkmale einbauen kann?).
Gerade jetzt, ich tue nichts Phantasie:
public static function __callStatic($method, $params) {
var_dump(self::$type);
}
in BaseClass
. Aber ich kann nicht herausfinden, wie ich dieses Problem angehen soll, wenn es überhaupt möglich ist.
Dies ist spät statische Bindung, oder? Zufällig habe ich diese Seite direkt nach dem Erstellen dieser Frage gefunden. Sucks, wenn ich an die "richtige" Google-Suche denke, nachdem ich eine Frage gestellt habe. – RhoVisions