/** * Create a new EntityManager * * @param Storage $storageDriver * @param Configuration $config */ public function __construct(Storage $storageDriver, Configuration $config) { $cmf = new ClassMetadataFactory($config->getMappingDriverImpl()); $cmf->setCacheDriver($config->getMetadataCache()); $this->unitOfWork = new UnitOfWork($cmf, $storageDriver, $config); $this->storageDriver = $storageDriver; }
private function processDeletions() { foreach ($this->scheduledDeletions as $object) { $class = $this->cmf->getMetadataFor(get_class($object)); $oid = spl_object_hash($object); $id = $this->identifiers[$oid]; $idHash = $this->idHandler->hash($id); $this->storageDriver->delete($class->storageName, $id); unset($this->identifiers[$oid], $this->originalData[$oid], $this->identityMap[$class->name][$idHash]); } }