1
resposta

Por que inserir no banco usando o controller ao inves da Model?

O professor usa o Controller "Persistência.php" para inserir os dados no banco que foram recebidos do formulário via método POST, quem deveria fazer essas partes de relacionadas ao banco de dados não seria a Model? Por que ele está usando o Controller ao invés da model? Obrigado =)

1 resposta

Realmente, o negócio deve ficar todo no Model (ou em Services, sob outra abordagem). Às vezes, colocamos alguma lógica nos controllers, seja para fins didáticos ou quando a lógica é muito, muito simples, que não requer uma subida ao Model.

Um exemplo clássico é a ação de criar um usuário novo no Laravel. Como a validação é sempre papel do controller e esta é a parte mais difícil de uma ação desse tipo, é comum encontrar um User::create no próprio controller, uma vez que o "create" é um método comum a todos os models nesse framework.

Há muitas regras pra esses padrões de projeto, mas a primeira e, na minha opinião, a mais importante, é o bom senso. Vamos fazer códigos de forma que o "eu do futuro" não se envergonhe do "eu de hoje".