Moin, ich glaube ich habe das Prinzip von Klassen etc. noch nicht wirklich verstanden oder ich mache einen Fehler.
Habe schon hier und in diversen Foren gefunden aber nichts wirklich aussagekräftiges gefunden.
Ich erzeuge auf einer Seite mittels eingebunder Datei (require() ) ein ADODB-Objekt und verbinde mit diesem Objekt zu einer Datenbank.
Wenn ich jetzt "manuell" auf der Seite mittels des DB-Objekts eine Abfrage erstelle funktioniert alles einwandfrei. Jetzt möchte ich allerdings eine "config"-Klasse erstellen, die Konfigurationen aus der Datenbank liest, die im weiteren Verlauf der Seite verfügbar sein sollen, und auch manipulierbar sein sollen.
Instanzierung des Datenbankobjekts:
Inhalt der "db.php":
In der "config.php" werden nur extern die Konstanten definiert.
einbinden meiner Klasse und instanzieren:
Inhalt der Klasse:
Der Aufruf von "getConfig()" erzeugt natürlich eine Fehlermeldung von ADODB, das "Execute" auf ein null-Objekt ausgeführt wird.
Wie bekomme ich jetzt am günstigsten das Datenbankobjekt "$db" in meine Klasse?
Habe schon hier und in diversen Foren gefunden aber nichts wirklich aussagekräftiges gefunden.
Ich erzeuge auf einer Seite mittels eingebunder Datei (require() ) ein ADODB-Objekt und verbinde mit diesem Objekt zu einer Datenbank.
Wenn ich jetzt "manuell" auf der Seite mittels des DB-Objekts eine Abfrage erstelle funktioniert alles einwandfrei. Jetzt möchte ich allerdings eine "config"-Klasse erstellen, die Konfigurationen aus der Datenbank liest, die im weiteren Verlauf der Seite verfügbar sein sollen, und auch manipulierbar sein sollen.
Instanzierung des Datenbankobjekts:
PHP-Code:
//DB Connection
require("../configs/db.php");
PHP-Code:
require("config.php");
//Load ADODB
require("../lib/adodb/adodb.inc.php");
$db = NewADOConnection('mysql');
$db->Connect(SYSTEM_DATABASE_HOST,SYSTEM_DATABASE_USER,SYSTEM_DATABASE_PASSWORD,SYSTEM_DATABASE_DATABASENAME);
einbinden meiner Klasse und instanzieren:
PHP-Code:
require("class/class.config.php");
$config = new config();
PHP-Code:
class config
{
public function getConfig()
{
return $db->Execute("SELECT * FROM ".DB_PREFIX."system_config");
}
public function setConfigItem($id,$item,$value,$description,$type)
{
$db->Execute("UPDATE ".DB_PREFIX."system_config SET
config_name = '$item',
config_value = '$value',
config_description = '$description',
config_type = '$config_type'
WHERE config_id = '$id'");
if($db){return true;}
}
public function setConfigAll($config)
{
}
}
Wie bekomme ich jetzt am günstigsten das Datenbankobjekt "$db" in meine Klasse?
Kommentar