Hay algunos puntos a tener en cuenta a la hora de hacer un singleton en PHP,
  Obligatorio- El constructor debe ser privado
  - La clase debe sobrescribir __clone
  
 Opcional- Por lo general el metodo que para obtener el objeto se denomina getInstance
  
   
Código PHP:
Ver originalclass Singleton 
{ 
 
    private static $_instance; 
 
    private function __construct() 
    {} 
 
    public static function getInstance() 
    { 
        if (!self::$_instance) { 
            self::$_instance = new self; 
        } 
        return self::$_instance; 
    } 
 
    private function __clone()
    {}
}
  
Ten en cuenta que es considerado por muchos(me incluyo) un anti-pattern y utilizarlo para la conexión a la bbdd es una pesima idea(esto te lo comento porque la clase de ejemplo es Database). 
Saludos.