In PHP kann ich dies tun:PHP: Begrenzung der variablen Variablen
$class = 'Notes';
echo $class::message();
aber es scheint, dass innerhalb einer Methode, ich kann das nicht tun:
echo ($this->myClass)::message();
und auch nicht tun können, dies:
echo someFunctionThatReturnsClassName()::message();
Kann jemand erklären warum? Und geben Sie Regeln darüber, wann und wie dieser Umleitungsmechanismus funktioniert?
Danke Gidi
Guter Fang, wunderte sich über diesen. – karim79
Danke, das beantwortet sehr gut mein zweites Beispiel, bu nicht mein erstes – shealtiel
Nun ja, wie Ihr erstes in der Theorie ist das gleiche: indem Sie Klammern() hinzufügen, sagen Sie dem PHP-Interpreter, diesen Teil des Codes auszuführen und dann anzurufen eine statische Methode für diesen Fall. Welches wird fehlschlagen. Wenn Sie $ temp = ($ this-> myClass); $ temp :: message(), es wird wie ein Zauber wirken. – maartenba