Explorar o código

Merged pull request #41 from jaugustin/master.

Fix issue #40 : split metadataExtension by objectManager classes
Gediminas Morkevicius %!s(int64=14) %!d(string=hai) anos
pai
achega
15853fe20a
Modificáronse 1 ficheiros con 5 adicións e 4 borrados
  1. 5 4
      lib/Gedmo/Mapping/MappedEventSubscriber.php

+ 5 - 4
lib/Gedmo/Mapping/MappedEventSubscriber.php

@@ -39,7 +39,7 @@ abstract class MappedEventSubscriber implements EventSubscriber
      *
      * @var Gedmo\Mapping\ExtensionMetadataFactory
      */
-    private $extensionMetadataFactory;
+    private $extensionMetadataFactory = array();
 
     /**
      * List of event adapters used for this listener
@@ -105,13 +105,14 @@ abstract class MappedEventSubscriber implements EventSubscriber
      */
     public function getExtensionMetadataFactory(ObjectManager $objectManager)
     {
-        if (null === $this->extensionMetadataFactory) {
-            $this->extensionMetadataFactory = new ExtensionMetadataFactory(
+        $class = get_class($objectManager);
+        if (!isset($this->extensionMetadataFactory[$class])) {
+            $this->extensionMetadataFactory[$class] = new ExtensionMetadataFactory(
                 $objectManager,
                 $this->getNamespace()
             );
         }
-        return $this->extensionMetadataFactory;
+        return $this->extensionMetadataFactory[$class];
     }
 
     /**