Gibt es eine Möglichkeit, es zum Laufen zu bringen? Siehe Beispiel:
%Vor%Also ist es das Ziel, es so zu verwenden:
%Vor%Ich schätze sehr, dass das schlecht ist und es so nicht funktionieren kann, aber vielleicht gibt es einen Trick?
PS :: Ich weiß, dass ich dafür eine spezielle statische Methode verwenden kann, aber ...
Sie brauchen eine Autofabrik, um neue Autos zu bauen; Das ist kein JavaScript:)
%Vor% Natürlich sollten Sie die Funktion __construct
aus Ihrem ursprünglichen Code entfernen.
Als erwähnt in den Kommentaren, die Sie vollständig verallgemeinern könnten Dies unter Verwendung dynamischer Klassen, vorausgesetzt, dass Klassenerweiterungen denselben Konstruktor haben und die Klassenbenennung konsistent ist:
%Vor% Ich persönlich habe keine Präferenzen; Wenn Erweiterbarkeit ein Schlüsselfaktor ist, gehen Sie dafür, sonst bleiben Sie bei einem einfachen switch
.
[...] Sie könnten dies vollständig verallgemeinern, indem Sie dynamische Klassen verwenden, vorausgesetzt, dass Klassenerweiterungen denselben Konstruktor haben und die Klassenbenennung konsistent ist
Sie können mit Reflection noch mehr Flexibilität hinzufügen:
%Vor%Verwenden Sie jetzt:
%Vor%Tags und Links class php constructor oop