From cddd7e6aa5d5ac739a1d900a378797d2e8164c1f Mon Sep 17 00:00:00 2001 From: Jakub Janata Date: Mon, 1 Dec 2025 12:28:19 +0100 Subject: [PATCH] fix compatibility with doctrine/orm 3.5.8 --- src/Doctrine/Mapping/ClassMetadataFactory.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Doctrine/Mapping/ClassMetadataFactory.php b/src/Doctrine/Mapping/ClassMetadataFactory.php index 764268f1..96dec3bd 100644 --- a/src/Doctrine/Mapping/ClassMetadataFactory.php +++ b/src/Doctrine/Mapping/ClassMetadataFactory.php @@ -39,9 +39,16 @@ protected function initialize(): void $config = new Configuration(); $config->setMetadataDriverImpl(count($drivers) === 1 ? $drivers[0] : new MappingDriverChain($drivers)); - $config->setAutoGenerateProxyClasses(true); - $config->setProxyDir($this->tmpDir); - $config->setProxyNamespace('__PHPStanDoctrine__\\Proxy'); + + // @phpstan-ignore function.impossibleType (Available since Doctrine ORM 3.4) + if (PHP_VERSION_ID >= 80400 && method_exists($config, 'enableNativeLazyObjects')) { + $config->enableNativeLazyObjects(true); + } else { + $config->setAutoGenerateProxyClasses(true); + $config->setProxyDir($this->tmpDir); + $config->setProxyNamespace('__PHPStanDoctrine__\\Proxy'); + } + $connection = DriverManager::getConnection([ 'driver' => 'pdo_sqlite', 'memory' => true,