echo $begrüßung;
Du meinst eine Methode.
Ja.., ich kann mit der Terminologie nicht wirklich viel anfangen.
Es hat sich in Fachkreisen jedes Gebiets eingebürgert, Fachbegriffe zu verwenden, die meist ziemlich genau bestimmte Dinge beim Namen nennen und sich dabei von ähnlichen Dingen abgrenzen. Das ist vorteilhaft, weil man somit kurz und prägnant formulieren kann.
Eine Klasse in einer Klasse?
Das sollte eine Fehlermeldung geben: "Class declarations may not be nested in ..."
Nö, man kann jedes abgeschlossene Code-Gebilde (Funktion, Klasse) in einer Funktion/Methode laden oder deklarieren. Das Ergebnis ist dann aber vom Zugriff nicht auf die Funktion/Methode begrenzt, in der es steht. Funktionen und Klassen werden generell global angelegt. Deshalb muss man auch dafür Sorge tragen, dass bei mehrfachem Aufruf die erneute Deklaration verhindert wird (function_exists(), class_exists()).
PHP (5.2) gibt da keinen Fehler aus, ich kann beide Klassen verwenden. Die Frage ist nur, ob das problemlos möglich ist, z.B. in anderen Versionen, oder ob es mir nur problemlos erscheint, weil ich nur einen einfachen Test durchgeführt habe.
Ich kann mich an keine Version erinnern, in der das nicht ginge. Innerhalb einer Funktion oder Methode (bedingt) Code nachzuladen wird z.B. in PEAR angewendet, das für Version 4 geschrieben war. (Frühere Versionen sind heute auch nicht mehr relevant.)
echo "$verabschiedung $name";