【发布时间】:2023-03-07 09:30:02
【问题描述】:
我一直在用 MVC 模式构建一个系统,但我一直坚持方法的实现。
在我的应用程序中,公司可以获得用户的评分。该公司可以或不存在于我的应用程序中,因此在插入评级之前,该公司必须存在于数据库中。
我的问题是:我必须在模型中实现所有业务逻辑还是在控制器中实现一些验证?
控制器
- 检查是否有
$_POST; - 检查公司是否存在;
- 如果不存在,则从 Company 模型中执行
insert()并返回插入的 id; - 使用
$_company_id(评级模型)插入评级;
或
控制器
- 检查是否有
$_POST - 使用公司参数从评级模型执行
insert()
评级模型
- 检查公司是否存在;
- 如果不存在,则从 Company 模型中执行
insert()并返回插入的 id; - 使用
$_company_id(评级模型)插入评级;
【问题讨论】:
-
在第二种方法中,你应该删除第二点。
-
如果我在第二种方法中删除第二点,公司将不会被插入数据库,评级也无法插入......(tks for the edit)
-
业务逻辑的验证和实现在模型中完成。无论更改源自何处,模型、视图或控制器都需要对其进行验证,并且在您的情况下需要运行业务逻辑。最终目的地是模型,这就是应该完成的地方。
标签: php oop model-view-controller