كيفية هيكلة النموذج بشكل صحيح في MVC على PHP؟ مشاكل النموذج الثقيل ومنطق الأعمال
مرحباً بالجميع! أنا مطور PHP مبتدئ، وأكتب بلغة Laravel منذ عدة أشهر. لكني أشعر أنني أفعل شيئاً خاطئاً مع النماذج.
لدي مشروع متجر إلكتروني. في البداية، كنت أضع كل المنطق في نماذج Eloquent. على سبيل المثال، نموذج Order يحتوي على:
class Order extends Model
{
public function calculateTotalWithDiscount($couponCode) { ... }
public function validateStock() { ... }
public function sendConfirmationEmail() { ... }
public function generateInvoicePdf() { ... }
public function applyLoyaltyPoints($userId) { ... }
public function checkFraud() { ... }
}
الآن هذا النموذج يحتوي على أكثر من 2000 سطر. أفهم أن هذا 'نموذج ثقيل' (Fat Model)، لكني لا أعرف كيفية تقسيم المسؤوليات بشكل صحيح. هناك الكثير من الجدل على الإنترنت: البعض يقول إن النموذج يجب أن يكون فقط للتعامل مع قاعدة البيانات، والبعض الآخر يقول إن كل منطق الأعمال يجب أن يكون في النموذج.
أرشدوني، كيف يمكن تنظيم ذلك بشكل صحيح؟