Klassensubstitution in PHP

8

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 ...

    
igor 21.05.2013, 18:02
quelle

2 Antworten

9

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 .

    
Ja͢ck 21.05.2013, 18:04
quelle
1
  

[...] 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%     
Henrique Barcelos 22.05.2013 00:09
quelle

Tags und Links