echo $begrüßung;
Wenn ich eine normale dynamische Klasse habe,
Du meinst ein Objekt (auch Instanz genannt).
kann ich die mittels unset($klassenvariable) wieder zerstören. Wie muss ich das denn bei einer Singleton-Klasse machen? Die bleibt von dem unset($singletonclass) unbeindruckt.
Wenn eine Klassenvariable nicht öffentlich ist, kann sie auch nur von einem zur Klasse gehörenden Code angesprochen werden. Und der kann sie auch per unset() eliminieren. Wenn du nur eine Referenz zur Verfügung hast, löschst du mit unset() nur diese.
Wenn du jedoch beispielsweise per Singleton eine Referenz auf die Klassenvariable rausgegeben hast, nun aber die Klassenvariable löschst, so löschst du nur die klasseninterne Referenz auf den Variablencontainer. Die "draußen" existierende Referenz verweist weiterhin auf den Container, der auch nicht automatisch verschwindet, also quasi unterm Gesäß weggezogen würde. Greifst du mit dem Klassencode wieder schreibend auf die Klassenvariable zu, wird ein neuer Variablencontainer unabhängig zum "außen" existierenden erstellt.
echo "$verabschiedung $name";