0

我目前正在为我运行的站点创建自己的 PHP mvc,以便它只包含所需的代码,尽可能轻巧快速。

该站点具有相当多的功能和用户特性,因此确定哪些操作在哪些控制器控制的模型中开始变得相当复杂。

例子

假设我有以下会员功能

  • 收藏夹
  • 朋友们
  • 历史

这些中的每一个都可以由成员控制器控制,但我的问题是是将它们全部放在一个模型中还是每个模型中。

这三个中的每一个都有许多动作,例如:

  • 加入“最喜欢的
  • 删除收藏夹
  • 显示收藏夹
  • 添加到历史记录
  • 删除历史
  • 显示历史
  • 加为好友
  • 删除好友
  • 留言好友

...ETC

目前我认为为每个人(最爱、朋友、历史)建立一个模型可能是最好的方法,但它会达到一个模型太多的地步吗?

目前整个站点有6个控制器,17个模型和25个视图

4

3 回答 3

1

我建议你让ModelController处理以某种方式修改的操作Model

FavoritesController处理添加、删除和显示收藏夹(存储在 上FavoritesModel)。使您的控制器保持精简/苗条,更容易测试(更少的方法)并将逻辑应用程序部分保持在一起。

此外,您可以将应用程序划分为较小的应用程序,每个应用程序处理:

  • 验证/登录
  • 社交/分享
  • 添加/阅读/显示文章(主应用程序)
于 2012-05-02T16:22:37.390 回答
1

是的,从技术上讲,您可以拥有太多模型,PHP 中可以存在多少类(一如既往)是有限制的。但它相当大,所以继续前进。您不仅可以同时拥有许多模型,而且还可以拥有不同类型的模型。因此,请继续前进,不要通过认为可能存在迄今为止您看不到的限制来限制您的编码。

所以不是文件的数量,而是你的代码写得有多好,例如所有属于一起的东西是否正确分组?参见领域模型

于 2012-05-03T09:13:30.347 回答
0

在这种情况下,没有“正确”的答案,所以我只能给你我自己的解释。我会使用一项服务将一个或多个模型绑定在一起。因此,用户服务将使用用户模型和收藏模型来操作和显示用户收藏。

于 2012-05-02T16:19:54.847 回答