Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend框架和服务层中作为纯数据对象的模型_Php_Model View Controller_Oop_Zend Framework_Service Layer - Fatal编程技术网

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

Php Zend框架和服务层中作为纯数据对象的模型,php,model-view-controller,oop,zend-framework,service-layer,Php,Model View Controller,Oop,Zend Framework,Service Layer,将ZF中的模型视为纯数据对象已变得很常见,即具有一组属性和getter/setter的类实例 class Model_User { public $id; public $name; ... } 我想知道的是,举例来说,在控制器中实例化这样一个对象并将其传递给服务层是否有意义,或者服务层本身是否应该负责实例化这些对象。。。您不会直接在控制器中实例化Zend\u DbTable类,因此在控制器中实例化Model\u用户将其传递给服务是否有意义?我认为这样做没有问题。数据传输对象(DT

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

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

我想知道的是,举例来说,在控制器中实例化这样一个对象并将其传递给服务层是否有意义,或者服务层本身是否应该负责实例化这些对象。。。您不会直接在控制器中实例化
Zend\u DbTable
类,因此在控制器中实例化
Model\u用户将其传递给服务是否有意义?

我认为这样做没有问题。数据传输对象(DTO)用于在层和/或模块之间传递信息。在我看来,这与使用数组没有什么不同,而且肯定比使用数组容易

下面是关于DTO的另一个讨论-


Martin对DTO的定义-

我问这个问题的原因是我经常发现自己将数组从控制器传递到服务层,然后直接传递到模型。。。