Gibt es in PHP eine Möglichkeit, Methoden aus einer Elternklasse mit dem Arbitrary-Argument call_user_func_array
aufzurufen? Im Wesentlichen möchte ich ein wenig Code schreiben, der, wenn auch etwas weniger optimal, mich das Eltern zu einer Methode willkürlich wie folgt aufrufen lässt:
Ist das ein merkwürdiger Hack? Ja. Ich werde diesen Textbaustein an vielen Stellen verwenden, wo es wahrscheinlich Fehler gibt, die Methodenargumente korrekt zu transkribieren, so dass der Kompromiss insgesamt weniger Fehler beinhaltet.
Sie können eine beliebige Methode für eine Elternklasse aufrufen, solange sie nicht näher an die Klasse der Instanz überladen wird. Verwenden Sie einfach $this->methodName(...)
Für etwas mehr fortgeschrittene Magie, hier ist ein funktionierendes Beispiel von dem, was Sie scheinen wollen:
Bitte beachten Sie, dass ich das nicht für eine gute Idee halte
%Vor% Im Prinzip sucht dies die Methode MathStuff::multiply
in der Methodennachschlagtabelle und führt ihren Code für Instanzdaten von einer DangerousCode
-Instanz aus.
Probieren Sie eines von
aus %Vor%oder
%Vor%... abhängig von Ihrer PHP-Version. Ältere neigen dazu, leicht abzustürzen, vorsichtig:)
Tags und Links php polymorphism