Per la connessione al db, potresti anche evitare di usare una classe singleton.
Un altra soluzione è quella di far estendere la tua classe ELENCO una classe generica per il db.
Es:
Codice PHP:
class myDb{
 private 
$host='localhost';
 private 
$dbname='nomedb';
 private 
$dbuser='root';
 private 
$dblogin='';
 private 
$prefix='sal_';
 private 
$db;

 private function 
connect(){
     
$this->col 'mysql:host='.$this->host.';dbname='.$this->dbname;
     
$this->db = new PDO($this->col $this->dbuser$this->dblogin); 
 }

 
// Altre funzioni comuni

}

class 
Elenco extends myDb{
   public 
$nometabella;
   function 
__construct ($nometab,$nomicamp,$campitab
   {
     
$this->nometabella $value;
     
$this->connect();  
   }
   public function 
getCategoria{
      
// fai la query con $this->db
   


  ...

Poi ci sono altri modi più o meno efficaci. Ad esempio, in questo caso tutte le tue classi derivate da myDb sarebbero legate a PDO. Se un giorno vorresti cambiare driver oltre alla classe myDb dovresti modificare tutte le altre classi