Que tal Dante
Conceptualmente hablando,
en el constructor también defines "reglas de negocio" de la propia clase, es decir, tú debes decidir cual es la información mínima que debes exigir para que se puedan crear instancias de esa clase.
Por ejemplo,
Código PHP:
$usuario = new Usuario();
Estás diciendo que
"en tu sistema se pueden crear usuarios sin ningún tipo de dato", pero si tienes un constructor que pide siempre id y nombre de usuario, estás diciendo que
"en tu sistema no pueden existir usuarios que no tengan por lo menos definido su id y nombre" (la diferencia es sutil, pero muy importante).
El punto es, según tu contexto,
pensar cuales son los datos que debería pedir la clase como mínimo para poder crear una instancia, más allá de la cantidad de los mismos.
Es un tema de
diseño (OO).
PD: puedes resolver el tema de muchos parámetros haciendo bien un constructor y luego algunos setters según corresponda, o hasta parámetros de tipo array / objetos para así tener un método que no esté sobrecargado de decenas de parámetros, simplemente lo procesas internamente.
Saludos!