dedlfix: Methoden in Klasse inkludieren

Beitrag lesen

echo $begrüßung;

Du kannst Funktionen nicht ineinander schachteln, um deren Scope zu verändern.
Oder etwas deutlicher formuliert: Es gibt unter PHP keinen anderen Kontext als den globalen für nicht klassengebundene Funktionen, egal an welcher Stelle sie deklariert werden.
Ok, das hat, denke ich, meine zuletzt gestellte Frage hinreichend beantwortet (bis auf ein sinnvolles Beispiel).

Ein Beispiel hast du mit deiner Factory-Lösung eigentlich schon, da inkludierte Dateien im Grunde nichts anderes sind als an dieser Stelle stehender Code*). Innerhalb einer Funktion kannst du beliebigen Code inkludieren, also nicht nur solchen, der Klassen deklariert sondern auch einfache Funktionen oder Konstanten definiert und Variablen erzeugt. Nur Variablen landen im lokalen Scope, alles andere wird global angelegt.

*) Es gibt da schon noch Unterschiede, aber die interessieren in diesem Zusammenhang nicht weiter.

echo "$verabschiedung $name";