Php ZF2模型中的exchangeArray函数是什么

Php ZF2模型中的exchangeArray函数是什么,php,zend-framework2,Php,Zend Framework2,我将PHP与ZF2一起使用,在其模型文件中始终有一个名为exchangeArray()的函数。 此函数的主要职责是通过数据数组填充对象属性: public function exchangeArray($data) { $this->id = (isset($data['id'])) ? $data['id'] : null; $this->artist = (isset($data['artist'])) ? $data['artist'] : null;

我将PHP与ZF2一起使用,在其模型文件中始终有一个名为
exchangeArray()
的函数。 此函数的主要职责是通过数据数组填充对象属性:

public function exchangeArray($data)
{
    $this->id     = (isset($data['id'])) ? $data['id'] : null;
    $this->artist = (isset($data['artist'])) ? $data['artist'] : null;
    $this->title  = (isset($data['title'])) ? $data['title'] : null;
}
当所有db函数都使用数据数组而不是对象数组时,该函数的用途是什么?我们是叫它还是在需要时自动叫它

exchangeArray()方法是表单水合器的一项要求;特别是
Zend\Stdlib\Hydrator\arrayserizable
Hydrator,这样它可以在从表单字段绑定时访问域对象的受保护属性

Zend\Stdlib\Hydrator\arrayserizable-遵循
ArrayObject
的定义。对象必须实现
exchangeArray()
填充(
)方法来支持水合,并实现
getArrayCopy()
方法来支持提取