Ich habe eine Basisklasse mit den magischen Methoden __call
und _callStatic
definiert, so dass Aufrufe an nicht deklarierte Member-Funktionen behandelt werden.
Wenn Sie beide haben, die dynamische und die statische, scheint es nicht möglich zu sein, die statische aus einer abgeleiteten Klasse aufzurufen, da der statische Operator ::
implizit nicht static
bedeutet, wenn er mit parent
verwendet wird. oder, wie in diesem Fall, der Name der Basisklasse. Dies ist eine spezielle Syntax, die hier erklärt wird: Ссылка
Was ich hier machen möchte, ist die abgeleitete Klasse, um __callStatic
aufzurufen, die fehlschlägt, weil der Aufruf standardmäßig ein dynamischer Aufruf ist und von __call
gehandhabt wird.
Wie kann ich einen expliziten statischen Aufruf für die Mitgliedsfunktion einer Basisklasse machen?
%Vor% Beachten Sie, dass das Entfernen der dynamischen __call
-Methode dazu führt, dass das Skript 'statischen Aufruf' ausgibt, weil __callStatic
aufgerufen wird, wenn __call
nicht deklariert ist.
Tags und Links php static overloading