0

我有一个FuelPHP应用程序,它具有分为两层的分层用户结构,corporate并且store. 该应用程序包括一个允许自定义字段的票务系统。

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

corporate级别定义的自定义字段用作“默认”自定义字段。也就是说,任何覆盖“默认”自定义字段的权限范围store内的任何人都可以访问这些自定义字段。corporation

在级别定义的自定义字段store可以:

  1. 覆盖“默认”(corporate级别)自定义字段
  2. 充当store未在级别定义的附加级别自定义corporate字段

昨天我编写了逻辑来确定商店的正确字段。它从数据库中获取所有定义的自定义字段,运行一些比较,并吐出适合store范围的自定义字段数组。

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

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

这是您将放在数据模型而不是控制器中的逻辑吗?我的想法是这样的:因为它访问数据而不对其进行操作,是的,它属于数据模型。而如果我要实际更改数据,它将属于控制器。那有意义吗?

从一个角度来看,我对最佳实践MVC感兴趣。

4

0 回答 0