模型作为Zend Framework和服务层中的纯数据对象

时间:2012-01-31 16:25:46

标签: php model-view-controller oop zend-framework service-layer

将ZF中的模型视为纯数据对象已变得很普遍,即具有一堆属性和getter / setter的类实例。

class Model_User {
  public $id;
  public $name;
  ...
}

我想知道的是,例如,在控制器中实例化这样的对象并将其传递给服务层,或者服务层是否应该是有意义的是否有意义本身负责实例化这些对象......你不会直接在控制器中实例化Zend_DbTable类,因此在控制器中实例化Model_User以将其传递给服务是否有意义?

1 个答案:

答案 0 :(得分:0)

我没有看到这样做的问题。数据传输对象(DTO)旨在在层和/或模块之间传递信息。在我看来,使用数组并没有什么不同,它肯定比使用数组更容易。

以下是关于DTO的另一个讨论 - What is Data Transfer Object?

Martin对DTO的定义 - http://martinfowler.com/eaaCatalog/dataTransferObject.html