echo $begrüßung;
es geht hier um Objekte, die anhand einer eindeutigen ID aus der Datenbank geladen werden sollen. Jedes Objekt mit einer bestimmten ID soll nur einmal vorhanden sein, nicht nur, um doppelte DB-Lesezugriffe zu verhindern, sondern vor allem, um eindeutige Schreibzugriffe zu ermöglichen.
Ja, das liest sich nach einem Anwendungsfall für das Factory-Pattern.
Du sparst dir ein wenig Schreibarbeit, wenn du
Bar1::getInstance()
statt
Foo::getInstance('Bar1')
verwendest. Das erkaufst du dir aber, indem du jeder Bar-Klasse eine eigene getInstance-Methode mitgibst, die dann Foo::getInstance(...) aufruft. Mir wäre das zu teuer.
Method overloading wäre noch eine Möglichkeit, um mit $foo->getBarX() an BarX zu gelangen, doch geht das nicht mit statischen Methodenaufrufen.
echo "$verabschiedung $name";