/** * Рекурсивный метод для удаления фабрики, что позволяет кешировать объект меню. * * @param ItemInterface $menu */ protected function removeFactory(ItemInterface $menu) { $menu->setFactory(new DummyFactory()); foreach ($menu->getChildren() as $subMenu) { $this->removeFactory($subMenu); } }