Hallo liebe Gemeinde,
(das ist mein erster Post, und ich hoffe ich bin im richtigen Forum). Ich bin noch ein ziemlicher Anfänger was PHP angeht, aber versuche mich gerade an objektorientierter Programmierung. Und daher meine Frage: Ich möchte meine Datenbankverbindung in verschiedenen Klassen aufbauen, wie macht man das am geschicktesten, um Redundanzen zu vermeiden. Sollte ich die Verbindungsdaten fest in die Datenbankklasse codieren, und dann nach dem Namen des Objektes unterscheiden, welche Datenbank ausgewählt wird. Dachte da an einen switch case Mechanismus. Oder soll ich die Verbindungsklasse ohne Fütterung von fertigen Daten aufbereiten und diese bei jeder Instanziierung mitgeben. Nachteil dabei ist, dass ich das ja immer tun muss.
Nochmals verdeutlich als Pseudocode:
Welches Vorgehen würdet ihr mir raten? Wie gesagt, bin noch ziemlicher Anfänger und erlerne gerade OOP. Allerdings will ich die guten Codestandards nicht verletzen und gleich von Anfang an gescheiht programmieren.
Vielen Dank und Gruß an Alle.
(das ist mein erster Post, und ich hoffe ich bin im richtigen Forum). Ich bin noch ein ziemlicher Anfänger was PHP angeht, aber versuche mich gerade an objektorientierter Programmierung. Und daher meine Frage: Ich möchte meine Datenbankverbindung in verschiedenen Klassen aufbauen, wie macht man das am geschicktesten, um Redundanzen zu vermeiden. Sollte ich die Verbindungsdaten fest in die Datenbankklasse codieren, und dann nach dem Namen des Objektes unterscheiden, welche Datenbank ausgewählt wird. Dachte da an einen switch case Mechanismus. Oder soll ich die Verbindungsklasse ohne Fütterung von fertigen Daten aufbereiten und diese bei jeder Instanziierung mitgeben. Nachteil dabei ist, dass ich das ja immer tun muss.
Nochmals verdeutlich als Pseudocode:
PHP-Code:
//1. Möglichkeit
class Verbindung(){
if(instanziierung == A){
->Objekt erstellen, das Verbindung zu DB1 hält
}
if(instanziierung == B){
->"" "" DB2
}
}
//und dort, wo die klasse benötigt wird:
private A = new Verbindung();
//2. Möglichkeit: Klasse als Art "Schablone", die erst bei Aufruf gefüllt wird
class Verbindung{
public __construct(dbname, ...){
->Konstruktor in parametriesierter Form bereithalten
}
//Aufruf:
private v = new Verbindung(dbnameKonkret, ...);
Vielen Dank und Gruß an Alle.
Kommentar