echo $begrüßung;
... In dem Konstrukt wirft dir das foreach eine Fehlermeldung um die Ohren, wenn die Query eine leere Ergebnismenge zurückliefert und $objektArray keins ist.
Ja... mir sind PHP-Grundlagen durchaus geläufig. ;) Ist bei dir nicht angekommen, warum ich den Code geschrieben und hier gepostet habe? ;)
Soweit ich das verstanden habe, wolltest du eigentlich was zur Strukturierung wissen, aber das ist für mich kein Grund andere Fehler unbeachtet zu lassen. Wenn das Absicht war, so hilft es dir bei dem Problem nicht weiter, wenn PHP danach einfach versucht weiterzumachen, mit Folgefehlern um sich wirft und am Ende der aufrufenden Instanz noch nicht mal das Auftreten eines Fehlers melden kann. Das Fehlermeldungskonzept von PHP ist historisch bedingt nicht gerade sehr Exceptions-freudig angelegt. Exceptions findet man eingebaut nur an sehr wenigen Stellen (PDO und mysqli könnte ich nur aufzählen). Ansonsten bekommt man für Fehler, die man nicht durch Auswerten von Funktionsergebnissen beachtet, einfach nur Meldungen angezeigt und kann darauf nur in einem eigenen Error-Handler reagieren.
Interessant, das werde ich mal umzusetzen versuchen. Ich fürchte nur, ich habe letztlich überall nur try-catch-Strukturen, wenn ich das Error-Handler-Konzept durch das Exceptions ersetze. Sowas soll natürlich auch nicht herauskommen:
try {
a();
try {
b();
try {
c();
} catch (…) {
…
}
} catch (…) {
…
}
} catch (…) {
…
}
>
> Das ist ja gerade die Crux bei aufeinander aufbauenden Abläufen.
Es kommt auf den jeweiligen Fall an. Generell jede Anweisung einzeln in einen try-catch-Block zu stecken halte ich auch nicht für besonders sinnvoll \*). Wenn der Ablauf innerhalb einer Methode zu unübersichtlich wird, würde ich versuchen, Teilaufgaben davon zu ermitteln und in eigene Methoden auszulagern.
\*) Vielleicht missinterpretiere ich auch nur dein Beispiel ein wenig :-)
echo "$verabschiedung $name";