Php 我应该将数据数组或输入过滤器对象传递给服务层以更新实体吗?

Php 我应该将数据数组或输入过滤器对象传递给服务层以更新实体吗?,php,zend-framework2,Php,Zend Framework2,我的服务层可以接收数据并使用ORM(条令)更新实体 现在我有以下问题: 服务层应该使用什么来存储(创建/更新)数据记录。我不想使用Form类,只想使用InputFilters 我有以下想法: Idea 1(原始输入数组) 控制器:获取post/Get/file数据,将其放入一个数组中,并将其传递给服务层的saveRecord 服务层将使用inputfilter验证数据,并更新实体字段。当收到的inputfilter无效时,它会抛出一个包含错误消息的异常 Idea 2(inputfilter对象)

我的服务层可以接收数据并使用ORM(条令)更新实体

现在我有以下问题:

服务层应该使用什么来存储(创建/更新)数据记录。我不想使用Form类,只想使用InputFilters

我有以下想法:

Idea 1(原始输入数组)

  • 控制器:获取post/Get/file数据,将其放入一个数组中,并将其传递给服务层的saveRecord
  • 服务层将使用inputfilter验证数据,并更新实体字段。当收到的inputfilter无效时,它会抛出一个包含错误消息的异常
  • Idea 2(inputfilter对象)

  • 控制器:获取post/Get/file数据并将其放入新的inputfilter对象。验证它,如果成功,则将inputfilter传递给服务

  • 服务层接收预填充的有效inputfilter并更新实体字段。当接收到的inputfilter未经验证时,它会抛出一个异常(无论如何来自inputfilter)

  • 附加问题 这两种方法都使用数据中的给定id更新条目。单独传递实体ID更好,还是直接传递Entry对象更好

    变体:

    数据有效负载中的条目标识。数据作为原始数组:

    ->saveMyEntry(array $data)
    
    ->saveMyEntry(InputFilter $inputs)
    
    ->saveMyEntry($id, array $data)
    
    ->saveMyEntry($id, InputFilter $inputs)
    
    ->saveMyEntry(MyEntity $entity, array $data)
    
    ->saveMyEntry(MyEntity $entity, InputFilter $inputs)
    
    数据有效负载中的条目标识。数据作为inputfilter对象:

    ->saveMyEntry(array $data)
    
    ->saveMyEntry(InputFilter $inputs)
    
    ->saveMyEntry($id, array $data)
    
    ->saveMyEntry($id, InputFilter $inputs)
    
    ->saveMyEntry(MyEntity $entity, array $data)
    
    ->saveMyEntry(MyEntity $entity, InputFilter $inputs)
    
    separat参数中的条目标识。数据作为原始数组:

    ->saveMyEntry(array $data)
    
    ->saveMyEntry(InputFilter $inputs)
    
    ->saveMyEntry($id, array $data)
    
    ->saveMyEntry($id, InputFilter $inputs)
    
    ->saveMyEntry(MyEntity $entity, array $data)
    
    ->saveMyEntry(MyEntity $entity, InputFilter $inputs)
    
    separat参数中的条目标识。数据作为inputfilter对象:

    ->saveMyEntry(array $data)
    
    ->saveMyEntry(InputFilter $inputs)
    
    ->saveMyEntry($id, array $data)
    
    ->saveMyEntry($id, InputFilter $inputs)
    
    ->saveMyEntry(MyEntity $entity, array $data)
    
    ->saveMyEntry(MyEntity $entity, InputFilter $inputs)
    
    条目标识作为整个实体对象。数据作为原始数组:

    ->saveMyEntry(array $data)
    
    ->saveMyEntry(InputFilter $inputs)
    
    ->saveMyEntry($id, array $data)
    
    ->saveMyEntry($id, InputFilter $inputs)
    
    ->saveMyEntry(MyEntity $entity, array $data)
    
    ->saveMyEntry(MyEntity $entity, InputFilter $inputs)
    
    条目标识作为整个实体对象。数据作为inputfilter对象:

    ->saveMyEntry(array $data)
    
    ->saveMyEntry(InputFilter $inputs)
    
    ->saveMyEntry($id, array $data)
    
    ->saveMyEntry($id, InputFilter $inputs)
    
    ->saveMyEntry(MyEntity $entity, array $data)
    
    ->saveMyEntry(MyEntity $entity, InputFilter $inputs)
    
    哪种方法最适合未来