我不确定哪个标题更具描述性,所以我保持这种方式。我觉得有点迷失在 MVC 的世界里。
仅供参考:我使用 PHP,但在这种特殊情况下这似乎并不重要。
我的问题如下:
我有一个包含以下方法的 UserController:
- 登录
- 新的
- 显示
- 概述
然后我有我的 UserModel,包含 - 在这种情况下 - 大致相同的方法:
- 登录
- 创造
- 拿来
问题是:一旦从数据库(或 XML 提要、Web 服务或其他...)中获取我的用户数据,我该如何保存?我想到了一个用户“业务对象”,其中包含数据库中的所有(相关)属性。然后,当从数据库中获取用户时,我为我获取的每个用户实例化一个新的用户对象。如果只有 1 个用户从搜索中返回,我只返回 User 对象。如果返回更多用户,我会实例化一个包含所有用户对象的 UserCollection 对象——在这种情况下,我可以迭代它们,等等。
这是在 MVC 中与用户打交道的正确方法吗?
然后:假设我对 10 个用户进行了概述。其中 5 个被一次编辑 - 想象一下使用复选框修改状态。如何处理更改?我是否遍历所有更改的用户对象并将它们存储回数据库中?然后它会开始看起来像是 Active Record 模式的实现,我被告知不要使用它。
我希望有人能澄清我需要哪些类和/或方法来解决这个“架构”问题。