Tach,
Abstrahiere die Datenhaltung vom Code. In Fakt taucht das PDO-Objekt gar nicht mehr auf in deinem Code weil ein austauschbarer Layer dahintersteckt welcher im einfachsten Fall als Attribut in der User-Instanz vorhanden ist.
eine Datenbankverbindung als Attribut eines Users? Selbst wenn da noch ORM dazwischen käme, fände ich das zum User gehörende Datenbank-Objekt als Attribut des Users sehr befremdlich.
Es taucht nur in den Methoden auf. Die Attribute eines Users sind völlig frei vom technischen Hintergrund. Wenn ich für sowas ein ORM einsetze ist der User ein reines Datenobjekt, also nur ein Array.