quando crei una classe in PHP 5 al posto di main() potrest usare la funzione predefinita CONSTRUCT che viene eseguita all'avvio della classe per inizializzare le variabili:

Codice PHP:
class test {

function 
__construct() {
  
main();
}

public static function 
main(){
       
//crea gli oggetti
       //chiama i metodi
       //richiama il template e genera l'output
}

}

$prova=new test(); // __construct viene eseguita immediatamente alla crezione della istanza 
in tal modo prima di ogni cosa la classe esegue automaticamente quel che c'è in construct.