如何在PHP中正确构建MVC模型?Fat Model与业务逻辑的问题
大家好!我是一名初学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”,但不知道如何正确划分职责。网上有很多争论:有人说模型应该只用于数据库操作,也有人说所有业务逻辑都应该放在模型中。
请教一下,如何正确组织