yii和非数据库模型

时间:2012-03-11 21:26:19

标签: oop yii

我需要一些帮助,因为我似乎无法掌握这个概念。

在一个框架中,即Yii,我们创建了与database tables对应的模型。我们从CActiveRecord扩展它们。

但是,如果我想创建一个可以从其他模型获取某些数据的类,但是然后会根据这些结果进行所有计算并对它们执行某些操作......那么我该如何处理?

我想明确划分责任,所以我不希望将所有计算都放在基于源数据库的模型中。基本上这个想法是它将从某些模型中获取一些东西,然后用计算结果更新另一个模型。

我该怎么办?

  • 将所有计算保留在某些控制器中并使用所需的模型? (对此有所犹豫,因为有一个规则可以让控制器保持苗条)
  • 创建一个非db模型,然后从那里开始工作(如何?)?
  • 做别的事(什么?)?

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

要使用模型的Yii 解释,您必须创建类,这取决于CModel。它是一个抽象类,因此您需要实现attributeNames()方法。

要在此新结构中使用其他“模型”,您需要在构造函数中注入它们,或者在创建自定义模型后立即注入它们。


在真正的MVC模型中是一个层,它主要包含两组具有特定职责的类:域业务逻辑和数据访问操作。负责域业务逻辑的对象不知道信息存储的位置和来源。或者即使存在“数据库”这样的事情。

此视频可能会解释一下:https://vimeo.com/21173483

相关问题