Como estruturar corretamente o modelo em MVC no PHP? Problemas com Fat Model e lógica de negócios
Olá a todos! Sou um desenvolvedor PHP iniciante e já escrevo em Laravel há alguns meses. Mas sinto que estou fazendo algo errado com os models.
Tenho um projeto de loja virtual. Inicialmente, colocava toda a lógica nos models Eloquent. Por exemplo, o model Order contém:
class Order extends Model
{
public function calculateTotalWithDiscount($couponCode) { ... }
public function validateStock() { ... }
public function sendConfirmationEmail() { ... }
public function generateInvoicePdf() { ... }
public function applyLoyaltyPoints($userId) { ... }
public function checkFraud() { ... }
}
Agora esse model já tem mais de 2000 linhas. Entendo que isso é um "Fat Model", mas não sei como dividir corretamente as responsabilidades. Na internet há muitos debates: uns dizem que o model deve ser apenas para trabalhar com o banco de dados, outros — que toda a lógica de negócios deve estar no model.
Digam-me, como organizar corretamente...
No answers yet.
Faça login para deixar uma resposta