Arbeitet man nicht gerne mit Globals, muss man seine eventuell vorhandene Datenbankklasse, bei jeder Benutzung von einer anderen Klasse aus, neu instanzieren, es sei denn man weiß was Singleton ist.
Ich denke der Code bedarf keiner weiteren Erklärung, falls doch, hinterlasst einen Kommentar.
class Database { //DatabaseObject private $db; //Constructor is private, cause it should never be called from outside this class private function __contruct(){ } //Function to get DatabaseObject public static function getDatabase(){ if(!isset(self::$db)) self::$db = new Database(); return self::$db; } }
Braucht man nun Zugriff auf die Instanz, sieht das so aus
$db = Database::getDatabase(); $result = $db->query($sql);