gpt4 book ai didi

php - 您应该在 Controller 中还是在 MVC 框架的模型中处理 session 数据?

转载 作者:可可西里 更新时间:2023-10-31 23:23:15 25 4
gpt4 key购买 nike

我正在使用 MVC 框架(特别是 PHP 的 CodeIgniter )。我试图尽可能地遵循“最佳实践”,但我对 MVC 没有太多经验。从 Controller 内的 session 中检索数据对我来说是不好的做法吗?我应该“询问”模型,比如说,特定的 session 值是“foo”还是“bar”,或者我应该直接在 Controller 内部这样做吗?我认为我应该在模型内部执行此操作,因为 session 数据在技术上是数据,但我只是想确定一下。明确地说,我根本没有将 session 数据存储在数据库中,所以我没有运行查询。

最佳答案

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

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

例如,Controller 抓取引用页面并根据用户流对该数据执行某些操作是合理的。但是,除了验证之外,它可能不应该检查账户之间转移的金额 - 它应该只是将其传递给实例化并使用正确域对象的服务对象。

关于您要放入 Controller 的逻辑的问题:

  • 此逻辑是否有助于确定我需要哪些模型对象?如果没有,它就不应该出现在这里。
  • 此逻辑是否有助于确定将使用哪些 View 对象来构建对用户的响应?如果没有,它就不应该出现在这里。

关于php - 您应该在 Controller 中还是在 MVC 框架的模型中处理 session 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11550860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com