protected function getPreFlush()
{
return function ($proxy, $instance, $method, $params, &$returnEarly) {
/** @var EntityManager $instance */
$event = new FlushEvent($instance);
$event->setReturnValue($instance);
$instance->getDispatcher()->dispatch(Event::PRE_FLUSH, $event);
if ($event->getAbort()) {
$returnEarly = true;
return $event->getReturnValue();
}
return null;
};
}