Marscel
2005-12-18, 22:13:27
Das System sieht so aus, ich habe einen Kern, der dynamisch alle möglichen Module lädt. Zu diesen Modulen soll auch ein Datenbank Modul gehören, das den Namen "database" trägt und dessen Funktionen halt die Datenbankanweisungen sind.
$this->database->db_query("SELECT XYZ...");
Wäre alles schön und gut, wenn da nicht die Sache wäre, dass diese Funktionen nicht für einen Datenbanktypen nutzbar sein soll (z.B. nur MySQL), sondern auch je nach Einstellung (die der Konstruktor ermittelt) den Datenbanktyp ermittelt (z.B. PGSQL).
Sodass $this->database->db_query("SELECT XYZ..."); im Falle von MySQL auf die PHP-Funktion mysql_query("SELECT XYZ..."); und im Falle von PGSQL auf die Funktion pg_query("SELECT XYZ...") zugreift.
Das soll nämlich so sein, dass "database" den Datenbanktyp ermittelt und am besten ein Objekt zu dieser lädt.
Geht das irgendwie? Oder muss man zwangsweise eine Zwischenklasse erstellen (z.B. $this->database->db->db_query("...");) ?
$this->database->db_query("SELECT XYZ...");
Wäre alles schön und gut, wenn da nicht die Sache wäre, dass diese Funktionen nicht für einen Datenbanktypen nutzbar sein soll (z.B. nur MySQL), sondern auch je nach Einstellung (die der Konstruktor ermittelt) den Datenbanktyp ermittelt (z.B. PGSQL).
Sodass $this->database->db_query("SELECT XYZ..."); im Falle von MySQL auf die PHP-Funktion mysql_query("SELECT XYZ..."); und im Falle von PGSQL auf die Funktion pg_query("SELECT XYZ...") zugreift.
Das soll nämlich so sein, dass "database" den Datenbanktyp ermittelt und am besten ein Objekt zu dieser lädt.
Geht das irgendwie? Oder muss man zwangsweise eine Zwischenklasse erstellen (z.B. $this->database->db->db_query("...");) ?