加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 您应该在控制器或MVC框架的模型中处理会话数据吗?

发布时间:2020-12-13 16:46:12 所属栏目:PHP教程 来源:网络整理
导读:我正在使用MVC框架(特别是 PHP的 CodeIgniter).我试图尽可能地遵循“最佳实践”,但我对MVC没有太多经验.从Controller中的会话中检索数据对我来说是不好的做法吗?我应该“询问”模型,例如,某个会话值是’foo’还是’bar’,还是应该直接在Controller内部执行
我正在使用MVC框架(特别是 PHP的 CodeIgniter).我试图尽可能地遵循“最佳实践”,但我对MVC没有太多经验.从Controller中的会话中检索数据对我来说是不好的做法吗?我应该“询问”模型,例如,某个会话值是’foo’还是’bar’,还是应该直接在Controller内部执行?我想我应该在模型中做,因为会话数据是技术上的数据,但我只是想确定.要清楚,我根本不会将会话数据存储在数据库中,所以我没有运行查询.

解决方法

模型通常处理持久存储到某种长期存储的所有域对象.它们可能有也可能没有与特定应用程序使用它们有关的瞬态值.

控制器应该查询他们需要的任何数据,以便正确地路由和显示信息.创建直接在域对象(您的模型)上运行的“服务”层可能会有所帮助,并为控制器提供API供使用.不包含在控制器中的主要问题是业务逻辑.

例如,控制器获取引用页面并对用户流程执行与该数据有关的操作是合理的.但是,除了验证之外,它可能不应该检查在帐户之间传输的金额 – 它应该将其传递给实例化并使用正确域对象的服务对象.

询问有关您将逻辑放入控制器的问题:

>这个逻辑是否有助于找出我需要的Model对象?如果没有,它不应该在这里.>此逻辑是否有助于确定将使用哪些View对象构建对用户的响应?如果没有,它不应该在这里.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读