я не могу понять, почему перестал работать AggregateHydrator если вы получите его в картографа заводе:Почему перестали работать гидратор после миграции zf2-> zf3?
$aggregatehydrator = $container->get(AggregateHydrator::class);
Пустые объекты возвращаются. Я пытался отладки и PHP умирает (избыток памяти), когда я пытаюсь:
\Zend\debug\debug::dump($aggregatehydrator);
Если я получить увлажняющее другой путь:
$tagsHydrator = $container->get(TagsHydrator::class);
$categoryHydrator = $container->get(CategoryHydrator::class);
$postHydrator = $container->get(PostHydrator::class);
$datesHydrator = $container->get(DatesHydrator::class);
$aggregatehydrator = new \Zend\Hydrator\Aggregate\AggregateHydrator();
$aggregatehydrator->add($postHydrator);
$aggregatehydrator->add($categoryHydrator);
$aggregatehydrator->add($tagsHydrator);
$aggregatehydrator->add($datesHydrator);
это работает все. Заполненные объекты возвращаются.
https://bitbucket.org/mad-max/blog-note3/overview
class AggregateHydratorFactory implements FactoryInterface
{
public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
{
$aggregatehydrator = new AggregateHydrator();
$tagsHydrator = $container->get(TagsHydrator::class);
$categoryHydrator = $container->get(CategoryHydrator::class);
$postHydrator = $container->get(PostHydrator::class);
$datesHydrator = $container->get(DatesHydrator::class);
$aggregatehydrator->add($postHydrator);
$aggregatehydrator->add($categoryHydrator);
$aggregatehydrator->add($tagsHydrator);
$aggregatehydrator->add($datesHydrator);
return $aggregatehydrator;
}
}
Вы должны добавить код для 'AggregateHydrator' завода. – AlexP
Таким образом, проблема заключается в том, что на вашем сервере заканчивается память при выполнении '\ Zend \ debug \ debug :: dump ($ aggregatehydrator);'. Может быть, вы не должны этого делать? Почему вы, в первую очередь, сбрасываете экземпляр гидратора? – Wilt
Потому что я пытался отлаживать, чтобы понять, почему он не работает. Эта строка отсутствует в реале. –