Comment structurer correctement un modèle en MVC avec PHP ? Problèmes de Fat Model et de logique métier
Bonjour à tous ! Je suis un développeur PHP débutant, et j'écris sur Laravel depuis quelques mois. Mais je sens que je fais quelque chose de mal avec les modèles.
J'ai un projet de boutique en ligne. Au départ, j'ai mis toute la logique dans les modèles Eloquent. Par exemple, le modèle Order contient :
class Order extends Model
{
public function calculateTotalWithDiscount($couponCode) { ... }
public function validateStock() { ... }
public function sendConfirmationEmail() { ... }
public function generateInvoicePdf() { ... }
public function applyLoyaltyPoints($userId) { ... }
public function checkFraud() { ... }
}
Maintenant, ce modèle a déjà plus de 2000 lignes. Je comprends que c'est un "Fat Model", mais je ne sais pas comment bien séparer les responsabilités. Sur Internet, il y a beaucoup de débats : certains disent que le modèle ne doit servir qu'à travailler avec la base de données, d'autres que toute la logique métier doit être dans le modèle.
Dites-moi, comment organiser correctement...
No answers yet.
Connectez-vous pour laisser une réponse