0
聚集水合器能嵌套吗?如果我有以下类:zf2 - 嵌套聚集体水化器
class Appointment{
public date;
public startTime;
public endTime;
public User; //* @var User */
}
class User{
public Location; //* @var Location*/
}
...被填充了以下AggregateHydrator(从工厂创建):
class AppointmentModelHydratorFactory implements FactoryInterface
{
public function createService(ServiceLocatorInterface $serviceLocator) {
$serviceManager = $serviceLocator->getServiceLocator();
$arrayHydrator = new ArraySerializable();
$arrayHydrator->addStrategy('date', new DateTimeStrategy())
->addStrategy('endTime', new TimeStrategy())
->addStrategy('startTime', new TimeStrategy());
$aggregateHydrator = new AggregateHydrator();
$aggregateHydrator->add($arrayHydrator);
$aggregateHydrator->add($serviceLocator->get('Hydrator\User'));
return $aggregateHydrator;
}
}
随着UserHydratorFactory看起来像:
class UserHydratorFactory implements FactoryInterface
{
public function createService(ServiceLocatorInterface $serviceLocator) {
$sm = $serviceLocator->getServiceLocator();
$userHydrator = new UserHydrator($sm->get('User\Mapper'));
$aggregateHydrator = new AggregateHydrator();
$aggregateHydrator->add($userHydrator);
$aggregateHydrator->add($sm->get('HydratorManager')->get('Hydrator\User\Location'));
return $aggregateHydrator;
}
}
这是抛出一个期望,因为模型返回为null,但我我注释了将位置水合器添加到用户水合器,它工作正常(虽然没有位置数据加载)。所以我想知道聚合水合器是否可以嵌套?