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);

Hinterlasse einen Kommentar.

Network-wide options by YD Freelance Wordpress Development