dedlfix: PHP: Erzeugungsmuster gesucht

Beitrag lesen

echo $begrüßung;

Beim Hochladen des Fotos ist das meiste davon erstmal unbekannt, insb. die ID. Aus diesem Grund benutze ich zur Zeit folgende Vererbungsstruktur:
Im Laufe der Erstellung wird in NEWFOTO irgendwann die ID bekannt, genauso wie der Pfad. Die aufrufende Klasse ("FileUpload") soll dann irgendwas zurückkriegen, um das Ergebnis repräsentieren zu können. Aber nur EXISTINGFOTO hat die nötigen Methoden dazu, bspw. eine HTML-Darstellung für das Foto.
Im Idealfall sollte also nach der Erstellung mittels NEWFOTO alles zur Verfügung stehen, was EXISTINGFOTO ausmacht, ich bräuchte also sowas wie Casting. Oder wie macht man das normalerweise?

Einen Typecast für Klassen gibt es unter PHP nicht. Eine unschöne Variante wäre ein statischer Aufruf der Methoden der anderen Klasse. Da du von einem Objekt-Kontext her kommst zeigt das $this bei diesem statischen Aufruf auf das aufrufende Objekt. Damit stehen dessen Eigenschaften zur Verfügung. Eigenschaften eines Objekts sind auch nicht auf die in der Klassendeklaration bekanntgegebenen begrenzt, sondern lassen sich gemäß der PHP-Philosophie durch schreibenden Zugriff anlegen.

Ich plädiere jedoch für KISS. (Keep is simple, stupid.) Was spricht denn dagegen, _eine_ Klasse mit allen Eigenschaften zu erstellen, die sich aber erst nach und nach füllen? Stattdessen können ja Ersatzwerte wie NULL oder 0 oder Leerstring in den Eigenschaften stehen.

echo "$verabschiedung $name";