Mailinglisten-Archive |
Hi Martin,
Zitat von Martin Holzhauer <wood-worker at gmx.net>:
> Da wir gerade bei OOP sind ich habe da mal ein problem.
>
> Ich wollte mir eine DB klasse schreiben.
> Und dann immer mittels klassen varibeln immer die entsprechende
> "Treiber Datei"
> In die klasse laden.
Gut, aber ne Factory Class macht diesen Weg etwas anders, als du
beschrieben hast. Es included keine Code-Schnippsel, es ruft
entsprechend der übergebenen Parameter andere Klassen auf.
class w4u_db() {
factory($type) {
include('/mein/pfad/'.$type.'.class.php');
$classname = $type."_class.php";
$obj =& new $classname()
return $obj;
}
}
so und dann wird das einfach nur noch mit nem
$db =& w4u_db::factory('oracle');
$db->connect();
aufgerufen.
Interessant für Patterns (php spezifisch): www.phppatterns.com und
gerade wenn du dich mit der Datenbank rumschlägst,
schau dir auch gleich mal das Singleton-Pattern an, was dir bei
vielen Klassen und einer Datenbank-Klasse hilft.
Das singleton hilft zwar nicht spezifisch bei den Datenbank-
connects aber es hilft beim Ressourcen sparen... :)
Gruß
Marc
-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/
php::bar PHP Wiki - Listenarchive