MVC-php会话验证

MVC-php会话验证,php,model-view-controller,validation,session,Php,Model View Controller,Validation,Session,从中的这个问题来看,我同意这样一种观点,即在发出任何DB调用之前,都要在模型中进行验证 但是,我对这种情况感到困惑:我有一个表单,它在将行ID呈现回浏览器之前将其存储到会话中。它就像一个代币。提交表单时,它会检查表单的ID和会话的ID是否相同。该操作与数据库完全没有关系 检查此ID是控制器还是模型的工作?控制器或助手,取决于验证的类型, 我认为伪MVC:在控制器中执行。控制器处理大部分业务和行为逻辑,而模型处于非活动的particpant(不知道它在MVC三元组中的使用)中,或者只是数据库存储的

从中的这个问题来看,我同意这样一种观点,即在发出任何DB调用之前,都要在模型中进行验证

但是,我对这种情况感到困惑:我有一个表单,它在将行ID呈现回浏览器之前将其存储到会话中。它就像一个代币。提交表单时,它会检查表单的ID和会话的ID是否相同。该操作与数据库完全没有关系


检查此ID是控制器还是模型的工作?

控制器或助手,取决于验证的类型,
我认为

伪MVC:在控制器中执行。控制器处理大部分业务和行为逻辑,而模型处于非活动的particpant(不知道它在MVC三元组中的使用)中,或者只是数据库存储的哑接口

真正的MVC:会话数据是业务逻辑。这是应用程序状态的另一个模型。如果它已经驻留在服务器端会话存储中,那么它就不是用户输入(控制器的实际用途)


最后,克服用词不当的问题。MVC是过去的流行语。(在此之前,MVP和PAC早已取代了它)。PHP领域中的变体与MVC无关。无论如何实施,试图“正确”地完成这项工作都将失败。请参阅控制器。模型不应该知道视图/会话在做什么。这正是控制器的用途