quando uso una classe, io uso molto variabili protected e private in una classe generica, tipo

Codice PHP:
class Utils {
  private 
$host;
  private 
$user;
  private 
$password;
  private 
$database;

  function 
__construct() {
    
$this->host "localhost";
    
$this->user "username";
    
$this->password "password";
    
$this->database "nome_db";
  }

da un'altra classe poso utilzizare tutto quanto contenuto in UTILS estendendola:

Codice PHP:
class UsaDB extends Utils {

  function 
__construct() {
      
// chiama _construct di Utils
      
parent::__construct();
    }

  function 
ApriConnessione() {
    
// visto che programmiamo ad oggetti usiamo mysqli che è meglio...
    
$mysqli = new mysqli($this->host$this->user$this->password$this->database);
    return 
$mysqli;
  }

quindi da una pagina PHP per usare ApriConnessione basta

Codice PHP:
<?php
   
require_once 'Utils.php';
   require_once 
'UsaDB.php';

   
$usaDB = new UsaDB();

  
$conn $usaDB->ApriConnessione();
?>