MVC - 我应该把这个逻辑放在我的模型或控制器中吗?

时间:2013-08-06 23:52:35

标签: php model-view-controller controller datamodel

我有一个FuelPHP应用程序,其分层用户结构分为两层corporatestore。该应用程序包括一个允许自定义字段的票务系统。

自定义字段可以在corporate级别和/或 store级别定义。

corporate级别定义的自定义字段用作“默认”自定义字段。也就是说,<{1}}的权限范围内的任何store 重写“默认”自定义字段都可以访问这些自定义字段。

corporation级别定义的自定义字段可以是:

  1. 覆盖“默认”(store级别)自定义字段
  2. 充当corporate级未定义的额外store级别自定义字段
  3. 昨天我写了逻辑来确定商店的正确字段。它从数据库中获取所有已定义的自定义字段,运行一些比较,并吐出一组适用于corporate范围的自定义字段。

    我最初在我的store控制器中写了逻辑,但今天我意识到我需要 从应用程序中的其他区域访问该数据,通常是在没有Fields控制器实例可用的情况下(没有明确创建一个)。

    我通常回避在我的数据模型中加入太多逻辑,主要是因为我不确定它何时适合。但是,在这种情况下,我静态重写逻辑并将其作为Fields方法放入我的Field模型中。它有效,但我想确保我不会在这里做一些可怕的错误。

    这是你在数据模型而不是控制器中放置的那种逻辑吗?我的想法是这样的:因为它在不操纵数据的情况下访问数据,是的,它属于数据模型。然而,如果我实际更改数据,它将属于控制器。这有意义吗?

    我从for_store($id)角度对最佳做法感兴趣。

0 个答案:

没有答案