per me la soluzione più facile è creare nella classe principale una funzione __construct come la seguente:

Codice PHP:
class Main {
  protected 
$connDB;

  function 
__construct() {
    
$this->connDB = array('localhost''username''password''database');
  }

  public function 
recordset($sql) {
    
$mysqli = new mysqli($this->connDB[0], $this->connDB[1], $this->connDB[2], $this->connDB[3]);
   
// continua....
  
}
}

class 
User extends Main {
  function 
__construct() {
    
parent::__construct();
  }
  
  
}
// script principale
$user = new User();
$user->recordset("SELECT * FROM users"); 
in tal modo user userà tutte le funzioni di Main, anche quelle ad esempio per recuperare un recordset dato che sa che .parent::__construct(); recupera i dati creati dal __construct di Main()