echo $begrüßung;
_WAAASSSS_ *mit einer Wimper zuck*... jetzt bin ich ja wieder an dem Punkt angelangt wo ich vor geschätzten 50 Beiträgen schon war.
Ja, aber nun hast du 50 Beiträge lang zumindest Wissen/Erfahrung gesammelt. :-) Fehler und Irrwege sind ganz natürlich im Lernprozess. Man muss ja auch erfahren, warum man bestimmte Wege besser nicht geht.
Static vs. Singleton Pattern
Vorteile, Nachteile, was macht jetzt mehr Sinn und wie sollte ich die Klasse ausrichten. Ich könnte ja theoretisch auch die Methoden nicht static machen und dann rein Singleton benutzen bevor ich das alles zum 200. mal wieder neu umschreibe. Ich bin wieder völlig verwirrt, was denn nun das "beste" ist für eine Datenbankklasse.
Das "Beste" gibt es nicht. Aufwand und Nutzen ist immer gegeneinander abzuwägen. Nutzt es etwas, eine Instanz zu haben, wenn die Methoden alle unabhängig voneinander arbeiten? Ist es weniger aufwendig, diese Methoden sttisch aufzurufen? Wenn ich mich recht erinnere schrieb ich schon im ersten Faden, dass eine Klasse mit reinweg statischen öffentlichen Methoden eine Alternative ist.
» Es gibt Klassenkonstanten. Nutze diese statt nichtssagender Zahlen und dein Quelltext wird ein Stück lesbarer.
Wie soll das dann aussehen?
Syntaktisch so wie im Handbuch unter Class Constants beschrieben.
Wenn du Zahlen zur Unterscheidung von x Fällen nimmst, dann kannst du Konstanten mit einem aussagekräftigen Namen diese Zahlen zuweisen und statt den Zahlen im Code nimmst du die Konstanten.
class foo {
const bar = 1;
const qux = 2;
function baz($param) {
switch ($param) {
case self::bar: ...
case self::qux: ...
}
}
}
$foo = new foo();
$foo->baz(foo::qux);
Also habe ich dann die Methode _getConnection() die eine Verbindung zur Dátenbank macht, diese Verbindung speicher ich dann lokal in der Methode wo _getConnection() aufgerufen wird, richtig?
Ja.
So das halt wirklich die Datenbank verbindung _nur_ bei einem Query kurzzeitig aufgebaut wird.
Wie baue ich Sie danach wieder ab?
mit $_Connection->close() ?
Ich würde sie einfach stehen lassen. Ein Abbauen bedeutet ein erneutes Aufbauen-Müssen bei der nächsten Query im selben Script. Die Verbindung allein frisst kaum Brot. Sie belegt nur einen Platz der max connections. Wenn du eine hochbelastete Anwendung mit mehr als 100 gleichzeitig laufenden Scripts erstellst oder sie sich so entwickelt, wirst du noch ganz andere Optimierungen finden müssen.
echo "$verabschiedung $name";