public static function saveRecursive($document, $collectGarbageAfterIteration = 25, &$saved = 0)
{
if ($document instanceof Document) {
$document->save();
$saved++;
if ($saved % $collectGarbageAfterIteration === 0) {
\Pimcore::collectGarbage();
}
}
foreach ($document->getChilds() as $child) {
if (!$child->hasChilds()) {
$child->save();
$saved++;
if ($saved % $collectGarbageAfterIteration === 0) {
\Pimcore::collectGarbage();
}
}
if ($child->hasChilds()) {
self::saveRecursive($child, $collectGarbageAfterIteration, $saved);
}
}
}