Moin,
ich verwende das in meinem Projekt fuer den Database-Layer. Ich hab meine abstrakte Standardklasse (SQLDatabase), die als Basis fuer alle anderen Klassen dient. In einem eigenen Ordner sind dann die ganzen eigenen Datenbank-Klassen drin (z.B. MySQL4Database in mysql4.php), die am Ende alle dieses Snippet beinhalten:
Code:
if (isset($define_dbms))
{
$available_dbms['mysql4'] = array(
'file' => 'mysql4.php',
'classname' => 'MySQL4Database'
);
}
Die Datei, die die Datenbankverbindung aufmacht, macht dann erstmal das:
Code:
$available_dbms = array();
$files = get_filelist($root_path .'common/includes/classes/
db/', '*.php');
$define_dbms = true;
foreach ($files as $db_file)
{
include($db_file);
}
unset($files);
unset($define_dbms);
get_filelist ist eine eigene Funktion, die mir den Inhalt eines Ordners auflistet. Anschliessend hab ich in $available_dbms alle Datenbankklassen drinstehn, und kann die Datenbankverbindung so aufbauen:
Code:
$
db = new $dbclassname(...);
wobei $dbclassname der entsprechende Klassenname ist
Greetz
alcaeus