1

我在我的 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)时,我自己调用它们,所以我真正想知道的是为什么工厂需要了解这些水合器,因为只有我知道何时需要它们.

4

0 回答 0