Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
控制器中的某些逻辑业务或[MVC]PHP模型中的所有逻辑业务_Php_Oop_Model View Controller - Fatal编程技术网

控制器中的某些逻辑业务或[MVC]PHP模型中的所有逻辑业务

控制器中的某些逻辑业务或[MVC]PHP模型中的所有逻辑业务,php,oop,model-view-controller,Php,Oop,Model View Controller,我一直在用MVC模式构建一个系统,我一直在努力实现这些方法 在我的应用程序中,公司可以通过用户获得评级。该公司可以存在于我的应用程序中,也可以不存在于我的应用程序中,因此在插入评级之前,该公司必须存在于数据库中 我的问题是:我必须在模型中实现所有业务逻辑,还是在控制器中实现一些验证 控制器 检查是否有$\u POST; 检查公司是否存在; 如果不存在,则从公司模型执行insert并返回插入的id; 插入带有$公司id评级模型的评级; 或 控制器 检查是否有$\u POST 使用公司参数从评级模型

我一直在用MVC模式构建一个系统,我一直在努力实现这些方法

在我的应用程序中,公司可以通过用户获得评级。该公司可以存在于我的应用程序中,也可以不存在于我的应用程序中,因此在插入评级之前,该公司必须存在于数据库中

我的问题是:我必须在模型中实现所有业务逻辑,还是在控制器中实现一些验证

控制器

检查是否有$\u POST; 检查公司是否存在; 如果不存在,则从公司模型执行insert并返回插入的id; 插入带有$公司id评级模型的评级; 或 控制器

检查是否有$\u POST 使用公司参数从评级模型执行插入 评级模型

检查公司是否存在; 如果不存在,则从公司模型执行insert并返回插入的id; 插入带有$公司id评级模型的评级;
MVC的含义以及我们迄今为止学到的知识

M(Model)      -> Used to perform database operations.
V(Views)      -> viewing the data in browser.
C(Controller) -> handle model and view.
所以我想说,在你的情况下,继续第二种选择


如果要进行任何验证,请在controller中执行。

在第二种方法中,您应该删除第二个点。如果我在第二种方法中删除第二个点,公司将不会插入db,评级也不能插入。。。用于业务逻辑验证和实现的tks在模型中完成。无论变更起源于何处、模型、视图或控制器,都需要对其进行验证,并且在您的情况下,需要运行业务逻辑。最终的目标是模型,这就是应该完成的地方。