Skip to content

Commit 31620e3

Browse files
committed
Ensure proxy-manager is not used when native lazy are enabled
1 parent 2f1298c commit 31620e3

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

src/DocumentManager.php

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,23 @@ protected function __construct(?Client $client = null, ?Configuration $config =
154154
$this->config->getDriverOptions(),
155155
);
156156

157-
$this->classNameResolver = $this->config->isLazyGhostObjectEnabled()
158-
? new CachingClassNameResolver(new LazyGhostProxyClassNameResolver())
159-
: new CachingClassNameResolver(new ProxyManagerClassNameResolver($this->config));
157+
if ($this->config->isNativeLazyObjectEnabled()) {
158+
$this->classNameResolver = new class implements ClassNameResolver, ProxyClassNameResolver {
159+
public function getRealClass(string $class): string
160+
{
161+
return $class;
162+
}
163+
164+
public function resolveClassName(string $className): string
165+
{
166+
return $className;
167+
}
168+
};
169+
} elseif ($this->config->isLazyGhostObjectEnabled()) {
170+
$this->classNameResolver = new CachingClassNameResolver(new LazyGhostProxyClassNameResolver());
171+
} else {
172+
$this->classNameResolver = new CachingClassNameResolver(new ProxyManagerClassNameResolver($this->config));
173+
}
160174

161175
$metadataFactoryClassName = $this->config->getClassMetadataFactoryName();
162176
$this->metadataFactory = new $metadataFactoryClassName();

0 commit comments

Comments
 (0)