zippex: Grundsatzfragen zur Verwendung von Klassen

Beitrag lesen

Hallo!
Ich bin gerade in den Anfängen eines größeren Projekts, dass möglichst modular aufgebaut sein soll. Also dachte ich mir, dass sich die Verwendung von Klassen anbietet.
Eine Klasse für die Datenbank mit connect(), getResult($query), executeQuery($query) etc.
Eine Klasse für die Benutzerverwaltung mit login($name, $pw), setUserdata(...), getUserdata(...) etc.

Mit diesen Überlegungen bin ich aber für mich bei einigen Grundsatzfragen angelangt. Bisher hatte ich immer eine funktionale Trennung, also eine Datei datenbank.php, in der alle Funktionen mit SQL-Anfragen für alle php-Dateien des Projekts drinstanden.

Mit den Klassen sollte ich das dann - so dachte ich mir zumindest - anders machen. Ist es (logisch) richtig, dass eine Klasse sämtlichen Code "von sich" enthält? Die Klasse "Benutzerverwaltung" beinhaltet also sowohl Datenbankfunktionen mit SQL-Anweisungen als auch z.B. "draw"-Methoden für die Ausgabe auf dem Bildschirm?

Ist es sinnvoll, eine Art System-Klasse à la Main-Methode zu schreiben, die sich um das Grobe kümmert? Also z.B. HTML-Code von <html> bis <body> generiert - oder dafür doch besser Templates?

Ist das logisch ok, wenn verschiedene Klassen auf Session-Variablen lesend und schreibend zugreifen? Oder sollte ich in die Session besser ein (z.B. Benutzer-)Objekt stecken, auf dass ich dann wieder nur über die entsprechende (Benutzer-)Klasse zugreifen kann?

Wenn ich so munter jeder Klasse ihre eigene "Draw"-Methode gebe, ist das dann noch mit einer globalen CSS-Datei vereinbar oder sollte ich die dann auch aufteilen?
Viele Grüße!
zippex :)