Rimanendo al discorso della classe con 30 parametri, è una buona idea usare una funzione del genere per istanziare l'oggetto da record?

Visto che uso i metodi set, che filtrano i dati di input, pensavo di passare dentro questo metodo direttamente $_POST nel caso di un form.

Codice PHP:
public static function ByArray($args)
{
    
$film = new Film();
    foreach (
$args as $k => $v)
    {
        
$method_name 'set'.ucfirst($k);
        if (
method_exists($news$method_name))
            
$film->{$method_name}($v);
    }
    return 
$film;