php - MVC - PHP session 验证

标签 php model-view-controller validation session

来自 MVC validation: where to validate? 中的这个问题,我同意在引发任何数据库调用之前在模型中进行验证的想法。

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

这个ID的校验是controller的工作还是model的工作?

最佳答案

仿 MVC:在 Controller 中执行。 Controller 处理大部分业务和行为逻辑,而模型处于非事件参与者状态(不知道它在 MVC 三元组中的使用)或只是数据库存储的哑接口(interface)。

真正的 MVC: session 数据是业务逻辑。它是应用程序状态的另一种模型。如果它已经驻留在服务器端 session 存储中,则它不是用户输入( Controller 的实际用途)。

最后,克服用词不当。 MVC 是过去的流行语。 (并且在此之前早已被 MVP 和 PAC 取代)。在 PHP 领域犯下的变体与 MVC 无关。无论实现如何,试图“正确地”做这件事都会失败。参见 https://stackoverflow.com/questions/1549857/simple-php-mvc-framework/1549970#1549970

关于php - MVC - PHP session 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8506426/

相关文章:

swift - _ : mean in Swift? 是什么

php - 在 View codeigniter 中调用模型函数

php - Codeigniter 表单验证未显示错误

c# - ASP.NET MVC3 验证问题

php - 单选按钮,更改 PHP 背景颜色

php - 通过终端启动多个同时连续运行的脚本,这些脚本在终端 session 结束后继续运行

javascript - 在 Iframe 中编辑博客数据

Java MVC 理解

php - 如何使用 'array_uintersec' 比较两个数组的条件?

php - cakePHP- SQL- 在 sql 中添加来自不同表的值