我在我的 ZF2 应用程序中创建了一个新模块,它有一个模型和一个映射器。在 Module.php 文件中,我为 AbstractDbMapper 创建了一个工厂,如下所示:
public function getServiceConfig()
{
return array(
'factories' => array(
'ZfcProductMapper' => function ($sm) {
$mapper = new ProductMapper();
$mapper->setDbAdapter($sm->get('ZendDbAdapterAdapter'));
$mapper->setEntityPrototype(new Product());
$mapper->setHydrator(new **????**);
return $mapper;
}
),
);
}
我目前在产品类中有我的保湿器,有 2 个功能“提取”和“水合物”。我的问题是,如何将工厂中的水合器设置为 Product 类而不是一个全新的类?
另外,什么时候调用这些 hydrator 函数?目前,当我需要一个数组而不是一个对象(例如 JSON)时,我自己调用它们,所以我真正想知道的是为什么工厂需要了解这些水合器,因为只有我知道何时需要它们.