dedlfix: Repository Objekte aus DB abspeichern

Beitrag lesen

Tach!

Was sonst würdest du denn zurückgeben wollen, also was für Werte soll dein User-Objekt haben, wenn es den User nicht gibt? Das wäre dann ein Widerspruch, denn ein User, den es nicht gibt, kann keine Werte haben.

Naja, wenn es den User nicht gibt wonach das UserRepository mit der Methode findUserByPsseudo( string $pseudo ) : TUser fragt, hagelt es nen Error wenn nicht eine Fehler behandlung existiert. Das Programm erwartet einen TUser-Objekt und keinen primitiv null. Ich glaube aber, ich hab dich falsch verstanden 😟.

Ja, wenn du den Fall null nicht berücksichtigst, dann gibts einen Folgefehler, wenn du versuchst auf Eigenschaften zuzugreifen. Das ist aber deine Verantwortung als Verwender, auf diesen speziellen Rückgabewert zu reagieren, damit es eben keine Fehler gibt.

Bei einer herkömmlichen Datenbankabfrage kann es (abgesehen von Fehlern) eine Ergebnismenge geben, in der kein Datensatz, einer oder mehrere enthalten sind. Wenn du davon ausgehst, es ist immer einer, aber die Abfrage eine leere Menge liefert, dann grift ein Zugriff auf das erste Element ins Leere. Das muss man berücksichtigen, dass die Menge leer sein kann.

Und genauso ist es, wenn du eine Ebene weiter nach oben gehst. Das Repository kann entweder einen User liefern, oder es kann es nicht. Dann gibts eben null (oder eine der anderen von RolfB aufgeführten Möglichkeiten). Und dieses null muss der Verwender berücksichtigen, wenn er keinen Fehler haben möchte. Er muss doch sowieso den Fall, dass es den Unser nicht gibt, berücksichtigen, selbst wenn du ein leeres User-Objekt generierst und zurückgibst.

dedlfix.