モデルとマッパーを持つ 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つの関数としてハイドレーターを持っています。私の質問は、工場のハイドレーターをまったく新しいクラスとしてではなく、製品クラスとして設定するにはどうすればよいですか?
また、これらのハイドレーター関数はいつ呼び出されますか? 現時点では、オブジェクトではなく配列が必要な場合 (JSON など) に自分で呼び出しているので、本当に疑問に思っているのは、これらのハイドレーターがいつ必要になるかを知っているのは私だけなので、なぜファクトリーがこれらのハイドレーターについて知る必要があるのかということです。 .