phpbar.de logo

Mailinglisten-Archive

[php] Factory Class

[php] Factory Class

Marc Ende me at twenty47.tv
Son Aug 17 23:28:30 CEST 2003


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