Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Herança vs Traits

Oi Vinicius, beleza?

Você refatorou o renderizador para uma trait por que nem todos controllers usavam essa característica?

Se sim, caso todos controllers usassem o render, semanticamente seria melhor ter uma classe chamada, por exemplo, BaseController, onde todos controllers herdariam o render dela? Ou traits ainda seria melhor abordagem nessa situação?

Sei que a ferramenta para reaproveitar (copiar/colar) código , de fato, são as traits e que a herança tem mais a ver com hierarquias de tipos, mas que na prática, em algumas situações, geram dúvidas. Se eu precisasse usar o render também em outros tipos de classes que não agissem como controladores eu teria certeza que a única abordagem seria as traits, mas como usamos apenas nos controllers bate uma dúvida se a herança poderia se encaixar.

1 resposta
solução!

Fala, Diego.

Caso TODOS os Controllers fossem utilizar o método render, herança seria uma opção sim. Mas não tem melhor ou pior nesse caso. Ambas seriam abordagens válidas.

Eu tendo a preferir utilizar herança quando cabe por ser mais agnóstico de linguagem (bobeira minha mesmo), mas tem gente que prefere utilizar trait sempre que pode (e que faz sentido)...